home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-08-30 | 550.6 KB | 17,021 lines |
- diff -r gdb-3.98/Makefile.in gdb-4.0/Makefile.in
- 2a3
- > # Copyright (C) 1990, 1991 Cygnus Support
- 4c5,17
- < # Last Mod Wed Jul 24 18:25:48 PDT 1991, by rich@cygint.cygnus.com
- ---
- > # This file is free software; you can redistribute it and/or modify
- > # it under the terms of the GNU General Public License as published by
- > # the Free Software Foundation; either version 2 of the License, or
- > # (at your option) any later version.
- > #
- > # This program is distributed in the hope that it will be useful,
- > # but WITHOUT ANY WARRANTY; without even the implied warranty of
- > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- > # GNU General Public License for more details.
- > #
- > # You should have received a copy of the GNU General Public License
- > # along with this program; if not, write to the Free Software
- > # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- 6,7c19,21
- <
- < # $Id: Makefile.in,v 1.21 1991/07/31 18:07:59 gnu Exp $
- ---
- > # Last Mod Tue Aug 20 12:48:54 PDT 1991, by rich@cygint.cygnus.com
- > #
- > # $Id: Makefile.in,v 1.27 1991/08/23 07:15:56 gnu Exp $
- 18c32
- < BISONPATH = $(srcdir)/../bison`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi`
- ---
- > BISONPATH =
- 20c34
- < BISON = $(BISONPATH)$(subdir)/bison -L $(BISONPATH)/
- ---
- > BISON = `if [ -d $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir) ] ; then echo $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir)/bison -L $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`/; else echo yacc ; fi`
- 80a95,96
- > -L$(srcdir)/../gnulib`if [ -d $(srcdir)/gnulib.$(target) ] ; \
- > then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \
- 151c167
- < `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
- ---
- > `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
- 157c173,174
- < DEVO_SUPPORT= README.configure Makefile.in configure configure.in
- ---
- > DEVO_SUPPORT= README README.configure Makefile.in configure configure.in \
- > config.sub
- 173a191,208
- > # Revision 1.27 1991/08/23 07:15:56 gnu
- > # Make README stick...
- > #
- > # Revision 1.26 1991/08/22 09:20:07 gnu
- > # Build a top-level README for devo.
- > #
- > # Revision 1.25 1991/08/22 07:15:49 rich
- > # Three part names, etc.
- > #
- > # Revision 1.24 1991/08/20 01:57:31 rich
- > # Another try at passing gnulib's location.
- > #
- > # Revision 1.23 1991/08/16 21:47:41 rich
- > # Pass on BISON as bison only if bison is here.
- > #
- > # Revision 1.22 1991/08/07 19:15:26 rich
- > # +forcesubdirs -> +subdirs
- > #
- Only in gdb-4.0: README
- diff -r gdb-3.98/README.configure gdb-4.0/README.configure
- 6c6
- < Last Mod 19 Jul 1991 by gnu@cygnus.com
- ---
- > Last Mod Fri Aug 23 14:44:19 PDT 1991, by rich@cygint.cygnus.com
- 111,112c111,112
- < ./configure sun4 +forcesubdirs +notation=postfix
- < ./configure sun3 +forcesubdirs +notation=infix
- ---
- > ./configure sun4 +subdirs +notation=postfix
- > ./configure sun3 +subdirs +notation=infix
- 118c118
- < behaviour so the "+forcesubdirs" configuration option is necessary
- ---
- > behaviour so the "+subdirs" configuration option is necessary
- 124c124
- < tools "in place" and won't show the "+forcesubdirs" option, but
- ---
- > tools "in place" and won't show the "+subdirs" option, but
- 215c215
- < to be build in a sun3 environment, in subdirectories, to be
- ---
- > to be built in a sun3 environment, in subdirectories, to be
- 526c526
- < * "./configure +forcesubdirs hostname +target=targetname" creates a
- ---
- > * "./configure +subdirs hostname +target=targetname" creates a
- 529c529
- < be done from Host-hostname/Target-targetname. "./configure +f name"
- ---
- > be done from Host-hostname/Target-targetname. "./configure +sub name"
- diff -r gdb-3.98/bfd/ChangeLog gdb-4.0/bfd/ChangeLog
- 0a1,87
- > Fri Aug 23 13:51:06 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * aoutx.h: Add information on host-aout.c and how to configure
- > to use it, to the manual.
- > * configure.in: Tix typo.
- > * ecoff.c: If compiling for DEC3100, use trad_unix core files,
- > else dummy out the core file support.
- > * trad-core.c (trad_unix_core_file_p): If HOST_DATA_START_ADDR is
- > specified, use it to locate the data section.
- > * coffcode.h (coff_write_symbols): Declare buffer as bfd_bytes
- > rather than as chars (lint).
- >
- > Thu Aug 22 22:20:19 1991 Stu Grossman (grossman at cygint.cygnus.com)
- >
- > * aoutx.h, coffcode.h: saberized.
- >
- > Thu Aug 22 11:27:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * bfd.texinfo: some cleanup, reincorporated more intro matter from
- > bfd.doc
- > bfd.c, targets.c: minor rewording of doc segments
- >
- >
- > Wed Aug 21 19:13:22 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * trad-core.c (trad_unix_core_file_p): Use HOST_TEXT_START_ADDR,
- > etc, rather than TEXT_START_ADDR.
- > * host-aout.c: Remove #if 0 around whole thing.
- > Update to modern (32/64-bit) a.out naming conventions.
- > Include a large chunk of ../include/a.out.gnu.h to get macros that
- > are not defined by the system include files.
- > (host_aout_{32,64}_write_object_contents): Use the WRITE_HEADERS
- > macro used by the other a.out implementations.
- > * Makefile.in: Give dependencies to OPTIONAL_BACKENDS.
- >
- > Wed Aug 21 14:33:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * Makefile.in: use targets "bfd.dvi" and "bfd.ps" instead of
- > texdoc and psdoc; make these depend on generated .texi's
- >
- > * scanit, (new) unPROTO: turn PROTO macros into ANSI declarations in
- > doc
- >
- > * bfd.c, reloc.c, syms.c: minor spelling/wording fixes in doc
- > portions
- >
- > * Makefile.in, awkscan-ip, awkscan-p, intobfd,
- > libbfd.h, libcoff.h, tolibcoff; new bfd-in.h, libbfd-in.h,
- > libcoff-in.h: (a) use separate files for invariant parts of bfd.h,
- > libbfd.h, and libcoff.h; (b) in generated parts of same, use less
- > obtrusive marks indicating .c origins.
- >
- > * bfd.texinfo: generalize most references to linker
- >
- > Tue Aug 20 15:18:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * Makefile.in: include core.p in PROTOS (building better bfd.h)
- > * archures.c: remove empty foo() definition (crept in at vn1.9)
- >
- > Mon Aug 19 13:48:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * bfd.texinfo: use @setchapternewpage on instead of lots of
- > @page's; minor rephrasing in Introduction.
- >
- > * aoutx.h, archive.c, archures.c, bfd.c, bfd.texinfo, cache.c,
- > coffcode.h, core.c, format.c, ieee.c, libbfd.c, libbfd.h, libcoff.h,
- > oasys.c, opncls.c, reloc.c, section.c, syms.c, targets.c (documentation
- > segments): used BFD (caps) more consistently as a name in
- > discourse, fixed a few other minor typos and uses of fonts
- >
- >
- > Thu Aug 8 16:47:43 1991 Steve Chamberlain (steve at cygint.cygnus.com)
- >
- > * coffcode.h: fixed bug where string table size wasn't being swapped.
- >
- > Thu Aug 1 16:35:28 1991 Steve Chamberlain (steve at cygint.cygnus.com)
- >
- > * section.c: added SEC_CONSTRUCTOR_TEXT|DATA|BSS flags
- >
- > * syms.c: added BSF_CONSTRUCTOR, BSF_WARNING and BSF_INDIRECT
- > flags. (bfd_print_symbol_vandf) now knows what to do with the
- > above flags.
- >
- > * aoutx.h: made translate_from_native_sym_flags and
- > translate_to_native_sym_flags produce the above flags.
- >
- >
- diff -r gdb-3.98/bfd/Makefile.in gdb-4.0/bfd/Makefile.in
- 21c21
- < # $Id: Makefile.in,v 1.27 1991/07/31 17:37:02 gnu Exp $
- ---
- > # $Id: Makefile.in,v 1.36 1991/08/22 19:59:41 steve Exp $
- 25a26
- > docdir = $(srcdir)/doc
- 32a34,35
- >
- >
- 45,46c48,50
- < icoff.o m68kcoff.o i386coff.o m88k-bcs.o ecoff.o \
- < # trad-core.o
- ---
- > icoff.o m68kcoff.o i386coff.o m88k-bcs.o ecoff.o
- >
- > OPTIONAL_BACKENDS = trad-core.o
- 105c109
- < rm -f *.[oa] *~ core *.E
- ---
- > rm -f *.[oa] *~ core *.E *.p *.ip
- 110c114
- < $(BFD_LIBS) $(BFD_BACKENDS): libbfd.h $(BFD_H)
- ---
- > $(BFD_LIBS) $(BFD_BACKENDS) $(OPTIONAL_BACKENDS): libbfd.h $(BFD_H)
- 188c192
- < `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
- ---
- > `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
- 195,231d198
- < # Stuff to make the documentation for bfd.
- < #
- < # make docs
- < # rebuilds the documentation. Has to be done when the source is
- < # modified until I work out how to do this properly
- < #
- < # make docs headers
- < # rebuilds the header files from the source
- < #
- < # make docs texdoc
- < # rebuilds the bfd.dvi manual
- < #
- < # make docs texinfo
- < # rebuilts the bfdinfo manual
- <
- <
- < .SUFFIXES: .doc .o .c .h .proto
- <
- < .c.doc:
- < makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
- <
- < .h.doc:
- < makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
- <
- < .proto.doc:
- < makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
- <
- <
- < DSRC=$(CFILES)
- <
- < docs: syms.doc bfd.doc cache.doc format.doc section.doc archive.doc \
- < core.doc libbfd.doc archures.doc reloc.doc opncls.doc \
- < targets.doc aoutx.doc coffcode.doc
- <
- <
- < PROTOS = doc/opncls.proto doc/archures.proto doc/libbfd.proto doc/section.proto doc/syms.proto doc/bfd.proto doc/archive.proto \
- < doc/reloc.proto doc/targets.proto doc/format.proto
- 233,235c200,204
- <
- < headers : $(PROTOS)
- < - mkdir doc
- ---
- > headers:
- > cp $(srcdir)/bfd-in.h $(docdir)
- > cp $(srcdir)/libbfd-in.h $(docdir)
- > cp $(srcdir)/libcoff-in.h $(docdir)
- > (cd $(docdir); make protos)
- 237,257c206,208
- < sed <$(BFD_H) >bfd.h.new -e '1,/THE FOLLOWING/!d'
- < cat doc/opncls.proto doc/archures.proto \
- < doc/libbfd.proto doc/section.proto doc/syms.proto \
- < doc/bfd.proto doc/archive.proto \
- < doc/core.proto \
- < doc/reloc.proto doc/targets.proto doc/format.proto >>bfd.h.new
- < echo >> bfd.h.new
- < echo "#endif" >> bfd.h.new
- < echo >> bfd.h.new
- < mv bfd.h.new $(BFD_H)
- <
- < # and libbfd.h
- < sed < libbfd.h >libbfd.h.new -e '1,/THE FOLLOWING/!d'
- < cat doc/libbfd.protointernal doc/cache.protointernal doc/reloc.protointernal >> libbfd.h.new
- < echo >> libbfd.h.new
- < mv libbfd.h.new libbfd.h
- <
- < # and libcoff.h
- < sed < $(srcdir)/libcoff.h >libcoff.h.new -e '1,/THE FOLLOWING/!d'
- < cat doc/coffcode.proto >>libcoff.h.new
- < mv libcoff.h.new $(srcdir)/libcoff.h
- ---
- > cp $(docdir)/bfd.h $(BFD_H)
- > cp $(docdir)/libbfd.h $(srcdir)/libbfd.h
- > cp $(docdir)/libcoff.h $(srcdir)/libcoff.h
- 259,261c210,214
- <
- < texinfo:
- < makeinfo +no-validate bfd.texinfo
- ---
- > bfd.info:
- > ( cd doc; make bfd.info)
- >
- > bfd.dvi:
- > (cd doc; make bfd.dvi)
- 263,266c216,217
- < texdoc:
- < tex bfd.texinfo
- < texindex bfd.??
- < tex bfd.texinfo
- ---
- > bfd.ps:
- > (cd doc; make bfd.ps)
- 268,269d218
- < quickdoc: $(DSRC) docs
- < tex bfd.texinfo
- diff -r gdb-3.98/bfd/aoutf1.h gdb-4.0/bfd/aoutf1.h
- 247c247
- < struct core {
- ---
- > struct external_sparc_core {
- 250,251c250,252
- < struct regs c_regs; /* General purpose registers -- MACHDEP SIZE */
- < struct internal_exec c_aouthdr; /* A.out header */
- ---
- > #define SPARC_CORE_LEN 432
- > int c_regs[19]; /* General purpose registers -- MACHDEP SIZE */
- > struct external_exec c_aouthdr; /* A.out header */
- 266,268c267,333
- < /* Supposedly the user stack grows downward from the bottom of kernel memory.
- < Presuming that this remains true, this definition will work. */
- < #define USRSTACK (-(128*1024*1024))
- ---
- > struct external_sun3_core {
- > int c_magic; /* Corefile magic number */
- > int c_len; /* Sizeof (struct core) */
- > #define SUN3_CORE_LEN 826 /* As of SunOS 4.1.1 */
- > int c_regs[18]; /* General purpose registers -- MACHDEP SIZE */
- > struct external_exec c_aouthdr; /* A.out header */
- > int c_signo; /* Killing signal, if any */
- > int c_tsize; /* Text size (bytes) */
- > int c_dsize; /* Data size (bytes) */
- > int c_ssize; /* Stack size (bytes) */
- > char c_cmdname[CORE_NAMELEN + 1]; /* Command name */
- > double fp_stuff[1]; /* external FPU state (size unknown by us) */
- > /* The type "double" is critical here, for alignment.
- > SunOS declares a struct here, but the struct's alignment
- > is double since it contains doubles. */
- > int c_ucode; /* Exception no. from u_code */
- > /* (this member is not accessible by name since we don't
- > portably know the size of fp_stuff.) */
- > };
- >
- > struct internal_sunos_core {
- > int c_magic; /* Corefile magic number */
- > int c_len; /* Sizeof (struct core) */
- > long c_regs_pos; /* file offset of General purpose registers */
- > int c_regs_size; /* size of General purpose registers */
- > struct internal_exec c_aouthdr; /* A.out header */
- > int c_signo; /* Killing signal, if any */
- > int c_tsize; /* Text size (bytes) */
- > int c_dsize; /* Data size (bytes) */
- > int c_ssize; /* Stack size (bytes) */
- > long c_stacktop; /* Stack top (address) */
- > char c_cmdname[CORE_NAMELEN + 1]; /* Command name */
- > long fp_stuff_pos; /* file offset of external FPU state (regs) */
- > int fp_stuff_size; /* Size of it */
- > int c_ucode; /* Exception no. from u_code */
- > };
- >
- > /* byte-swap in the Sun-3 core structure */
- > static void
- > DEFUN(swapcore_sun3,(abfd, ext, intcore),
- > bfd *abfd AND
- > char *ext AND
- > struct internal_sunos_core *intcore)
- > {
- > struct external_exec exec_bytes;
- > struct external_sun3_core *extcore = (struct external_sun3_core *)ext;
- >
- > intcore->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_magic);
- > intcore->c_len = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_len );
- > intcore->c_regs_pos = (long) (((struct external_sun3_core *)0)->c_regs);
- > intcore->c_regs_size = sizeof (extcore->c_regs);
- > NAME(aout,swap_exec_header_in)(abfd, &extcore->c_aouthdr,&intcore->c_aouthdr);
- > intcore->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_signo);
- > intcore->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_tsize);
- > intcore->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_dsize);
- > intcore->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_ssize);
- > bcopy (extcore->c_cmdname, intcore->c_cmdname, sizeof (intcore->c_cmdname));
- > intcore->fp_stuff_pos = (long) (((struct external_sun3_core *)0)->fp_stuff);
- > /* FP stuff takes up whole rest of struct, except c_ucode. */
- > intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
- > (file_ptr)(((struct external_sun3_core *)0)->fp_stuff);
- > /* Ucode is the last thing in the struct -- just before the end */
- > intcore->c_ucode = bfd_h_get_32 (abfd,
- > intcore->c_len - sizeof (extcore->c_ucode) + (unsigned char *)extcore);
- > intcore->c_stacktop = 0x0E000000; /* By experimentation */
- > }
- >
- 270c335,366
- < PROTO (static void, swapcore, (bfd *abfd, struct core *core));
- ---
- > /* byte-swap in the Sun-3 core structure */
- > static void
- > DEFUN(swapcore_sparc,(abfd, ext, intcore),
- > bfd *abfd AND
- > char *ext AND
- > struct internal_sunos_core *intcore)
- > {
- > struct external_sparc_core *extcore = (struct external_sparc_core *)ext;
- >
- > intcore->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_magic);
- > intcore->c_len = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_len );
- > intcore->c_regs_pos = (long) (((struct external_sparc_core *)0)->c_regs);
- > intcore->c_regs_size = sizeof (extcore->c_regs);
- > NAME(aout,swap_exec_header_in)(abfd, &extcore->c_aouthdr,&intcore->c_aouthdr);
- > intcore->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_signo);
- > intcore->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_tsize);
- > intcore->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_dsize);
- > intcore->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_ssize);
- > bcopy (extcore->c_cmdname, intcore->c_cmdname, sizeof (intcore->c_cmdname));
- > intcore->fp_stuff_pos = (long) (((struct external_sparc_core *)0)->fp_stuff);
- > /* FP stuff takes up whole rest of struct, except c_ucode. */
- > intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
- > (file_ptr)(((struct external_sparc_core *)0)->fp_stuff);
- > /* Ucode is the last thing in the struct -- just before the end */
- > intcore->c_ucode = bfd_h_get_32 (abfd,
- > intcore->c_len - sizeof (extcore->c_ucode) + (unsigned char *)extcore);
- > /* Supposedly the user stack grows downward from the bottom of kernel memory.
- > Presuming that this remains true, this definition will work. */
- > #define USRSTACK (-(128*1024*1024))
- > intcore->c_stacktop = USRSTACK; /* By experimentation */
- > #undef USRSTACK
- > }
- 272,277c368,373
- < /* need this cast b/c ptr is really void * */
- < #define core_hdr(bfd) (((struct suncordata *) (bfd->tdata))->hdr)
- < #define core_datasec(bfd) (((struct suncordata *) ((bfd)->tdata))->data_section)
- < #define core_stacksec(bfd) (((struct suncordata*)((bfd)->tdata))->stack_section)
- < #define core_regsec(bfd) (((struct suncordata *) ((bfd)->tdata))->reg_section)
- < #define core_reg2sec(bfd) (((struct suncordata *) ((bfd)->tdata))->reg2_section)
- ---
- > /* need this cast because ptr is really void * */
- > #define core_hdr(bfd) (((struct suncoredata *) (bfd->tdata))->hdr)
- > #define core_datasec(bfd) (((struct suncoredata *) ((bfd)->tdata))->data_section)
- > #define core_stacksec(bfd) (((struct suncoredata*)((bfd)->tdata))->stack_section)
- > #define core_regsec(bfd) (((struct suncoredata *) ((bfd)->tdata))->reg_section)
- > #define core_reg2sec(bfd) (((struct suncoredata *) ((bfd)->tdata))->reg2_section)
- 280,285c376,381
- < struct suncordata {
- < struct core *hdr; /* core file header */
- < asection *data_section;
- < asection *stack_section;
- < asection *reg_section;
- < asection *reg2_section;
- ---
- > struct suncoredata {
- > struct internal_sunos_core *hdr; /* core file header */
- > asection *data_section;
- > asection *stack_section;
- > asection *reg_section;
- > asection *reg2_section;
- 295c391,392
- < struct core *core;
- ---
- > struct internal_sunos_core *core;
- > char *extcore;
- 296a394,398
- > struct mergem {
- > struct suncoredata suncoredata;
- > struct internal_sunos_core internal_sunos_core;
- > char external_core[1];
- > } *mergem;
- 318,319c420,421
- < rawptr = bfd_zalloc (abfd, core_size + sizeof (struct suncordata));
- < if (rawptr == NULL) {
- ---
- > mergem = (struct mergem *)bfd_zalloc (abfd, core_size + sizeof (struct mergem));
- > if (mergem == NULL) {
- 324c426
- < core = (struct core *) (rawptr + sizeof (struct suncordata));
- ---
- > extcore = mergem->external_core;
- 326c428
- < if ((bfd_read ((PTR) core, 1, core_size, abfd)) != core_size) {
- ---
- > if ((bfd_read ((PTR) extcore, 1, core_size, abfd)) != core_size) {
- 328c430,447
- < bfd_release (abfd, rawptr);
- ---
- > bfd_release (abfd, (char *)mergem);
- > return 0;
- > }
- >
- > /* Validate that it's a core file we know how to handle, due to sun
- > botching the positioning of registers and other fields in a machine
- > dependent way. */
- > core = &mergem->internal_sunos_core;
- > switch (core_size) {
- > case SPARC_CORE_LEN:
- > swapcore_sparc (abfd, extcore, core);
- > break;
- > case SUN3_CORE_LEN:
- > swapcore_sun3 (abfd, extcore, core);
- > break;
- > default:
- > bfd_error = system_call_error; /* FIXME */
- > bfd_release (abfd, (char *)mergem);
- 332,333c451
- < swapcore (abfd, core);
- < set_tdata (abfd, ((struct suncordata *) rawptr));
- ---
- > set_tdata (abfd, &mergem->suncoredata);
- 375,378c493,494
- < core_regsec (abfd)->size = (sizeof core->c_regs);
- < /* Float regs take up end of struct, except c_ucode. */
- < core_reg2sec (abfd)->size = core_size - (sizeof core->c_ucode) -
- < (file_ptr)(((struct core *)0)->fp_stuff);
- ---
- > core_regsec (abfd)->size = core->c_regs_size;
- > core_reg2sec (abfd)->size = core->fp_stuff_size;
- 380c496
- < core_stacksec (abfd)->vma = (USRSTACK - core->c_ssize);
- ---
- > core_stacksec (abfd)->vma = (core->c_stacktop - core->c_ssize);
- 387,389c503,505
- < /* In file header: */
- < core_regsec (abfd)->filepos = (file_ptr)(&((struct core *)0)->c_regs);
- < core_reg2sec (abfd)->filepos = (file_ptr)(((struct core *)0)->fp_stuff);
- ---
- > /* We'll access the regs afresh in the core file, like any section: */
- > core_regsec (abfd)->filepos = (file_ptr)core->c_regs_pos;
- > core_reg2sec (abfd)->filepos = (file_ptr)core->fp_stuff_pos;
- 432,453d547
- < }
- <
- < /* byte-swap core structure */
- < /* FIXME, this needs more work to swap IN a core struct from raw bytes */
- < static void
- < DEFUN(swapcore,(abfd, core),
- < bfd *abfd AND
- < struct core *core)
- < {
- < struct external_exec exec_bytes;
- <
- < core->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&core->c_magic);
- < core->c_len = bfd_h_get_32 (abfd, (unsigned char *)&core->c_len );
- < /* Leave integer registers in target byte order. */
- < bcopy ((char *)&(core->c_aouthdr), (char *)&exec_bytes, EXEC_BYTES_SIZE);
- < NAME(aout,swap_exec_header_in)(abfd, &exec_bytes, &core->c_aouthdr);
- < core->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&core->c_signo);
- < core->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_tsize);
- < core->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_dsize);
- < core->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_ssize);
- < /* Leave FP registers in target byte order. */
- < /* Leave "c_ucode" unswapped for now, since we can't find it easily. */
- diff -r gdb-3.98/bfd/aoutx.h gdb-4.0/bfd/aoutx.h
- 40c40
- < bfd requires. It is included by @code{aout32.c} and @code{aout64.c} to
- ---
- > BFD requires. It is included by @code{aout32.c} and @code{aout64.c} to
- 74a75,105
- > The file host-aout.c is a special case. It is for a large set of hosts
- > that use ``more or less standard'' a.out files, and for which cross-debugging
- > is not interesting. It uses the standard 32-bit a.out support routines,
- > but determines the file offsets and addresses of the text, data,
- > and BSS sections, the machine architecture and machine type,
- > and the entry point address, in a host-dependent manner. Once these
- > values have been determined, generic code is used to handle the
- > object file.
- >
- > When porting it to run on a new system, you must supply:
- >
- > HOST_PAGE_SIZE
- > HOST_SEGMENT_SIZE
- > HOST_MACHINE_ARCH (optional)
- > HOST_MACHINE_MACHINE (optional)
- > HOST_TEXT_START_ADDR
- > HOST_STACK_END_ADDR
- >
- > in the file ../include/sys/h-XXX.h (for your host). These values, plus
- > the structures and macros defined in <a.out.h> on your host system, will
- > produce a BFD target that will access ordinary a.out files on your host.
- >
- > To configure a new machine to use host-aout.c, specify:
- >
- > TDEFINES = -DDEFAULT_VECTOR=host_aout_big_vec
- > TDEPFILES= host-aout.o trad-core.o
- >
- > in the config/tmake-XXX file, and modify configure.in to use the
- > tmake-XXX file (by setting "bfd_target=XXX") when your configuration is
- > selected.
- >
- 76a108,109
- > #define KEEPIT flags
- > #define KEEPITTYPE int
- 384c417
- < This routine initializes a bfd for use with a.out files.
- ---
- > This routine initializes a BFD for use with a.out files.
- 478c511
- < Sets the architecture and the machine of the bfd to those values
- ---
- > Sets the architecture and the machine of the BFD to those values
- 505c538
- < Called by the bfd in response to a @code{bfd_make_section} request.
- ---
- > Called by the BFD in response to a @code{bfd_make_section} request.
- 628,674c661,696
- < {
- < switch (cache_ptr->type & N_TYPE) {
- < case N_SETA:
- < case N_SETT:
- < case N_SETD:
- < case N_SETB:
- < {
- < char *copy = bfd_alloc(abfd, strlen(cache_ptr->symbol.name)+1);
- < asection *section ;
- < arelent_chain *reloc = (arelent_chain *)bfd_alloc(abfd, sizeof(arelent_chain));
- < strcpy(copy, cache_ptr->symbol.name);
- < section = bfd_make_section(abfd,copy);
- < switch ( (cache_ptr->type & N_TYPE) ) {
- < case N_SETA:
- < reloc->relent.section = (asection *)NULL;
- < cache_ptr->symbol.section = (asection *)NULL;
- < break;
- < case N_SETT:
- < reloc->relent.section = (asection *)obj_textsec(abfd);
- < cache_ptr->symbol.value -= reloc->relent.section->vma;
- < break;
- < case N_SETD:
- < reloc->relent.section = (asection *)obj_datasec(abfd);
- < cache_ptr->symbol.value -= reloc->relent.section->vma;
- < break;
- < case N_SETB:
- < reloc->relent.section = (asection *)obj_bsssec(abfd);
- < cache_ptr->symbol.value -= reloc->relent.section->vma;
- < break;
- < }
- < cache_ptr->symbol.section = reloc->relent.section;
- < reloc->relent.addend = cache_ptr->symbol.value ;
- <
- < /* We modify the symbol to belong to a section depending upon the
- < name of the symbol - probably __CTOR__ or __DTOR__ but we don't
- < really care, and add to the size of the section to contain a
- < pointer to the symbol. Build a reloc entry to relocate to this
- < symbol attached to this section. */
- <
- < section->flags = SEC_CONSTRUCTOR;
- < section->reloc_count++;
- < section->alignment_power = 2;
- < reloc->relent.sym_ptr_ptr = (asymbol **)NULL;
- < reloc->next = section->constructor_chain;
- < section->constructor_chain = reloc;
- < reloc->relent.address = section->size;
- < section->size += sizeof(int *);
- ---
- > {
- > switch (cache_ptr->type & N_TYPE) {
- > case N_SETA:
- > case N_SETT:
- > case N_SETD:
- > case N_SETB:
- > {
- > char *copy = bfd_alloc(abfd, strlen(cache_ptr->symbol.name)+1);
- > asection *section ;
- > arelent_chain *reloc = (arelent_chain *)bfd_alloc(abfd, sizeof(arelent_chain));
- > strcpy(copy, cache_ptr->symbol.name);
- > section = bfd_make_section(abfd,copy);
- > switch ( (cache_ptr->type & N_TYPE) ) {
- > case N_SETA:
- > section->flags = SEC_CONSTRUCTOR;
- > reloc->relent.section = (asection *)NULL;
- > cache_ptr->symbol.section = (asection *)NULL;
- > break;
- > case N_SETT:
- > section->flags = SEC_CONSTRUCTOR_TEXT;
- > reloc->relent.section = (asection *)obj_textsec(abfd);
- > cache_ptr->symbol.value -= reloc->relent.section->vma;
- > break;
- > case N_SETD:
- > section->flags = SEC_CONSTRUCTOR_DATA;
- > reloc->relent.section = (asection *)obj_datasec(abfd);
- > cache_ptr->symbol.value -= reloc->relent.section->vma;
- > break;
- > case N_SETB:
- > section->flags = SEC_CONSTRUCTOR_BSS;
- > reloc->relent.section = (asection *)obj_bsssec(abfd);
- > cache_ptr->symbol.value -= reloc->relent.section->vma;
- > break;
- > }
- > cache_ptr->symbol.section = reloc->relent.section;
- > reloc->relent.addend = cache_ptr->symbol.value ;
- 676,679c698,716
- < reloc->relent.howto = howto_table_ext +CTOR_TABLE_RELOC_IDX;
- < cache_ptr->symbol.flags |= BSF_DEBUGGING ;
- < }
- < break;
- ---
- > /* We modify the symbol to belong to a section depending upon the
- > name of the symbol - probably __CTOR__ or __DTOR__ but we don't
- > really care, and add to the size of the section to contain a
- > pointer to the symbol. Build a reloc entry to relocate to this
- > symbol attached to this section. */
- >
- >
- > section->reloc_count++;
- > section->alignment_power = 2;
- > reloc->relent.sym_ptr_ptr = (asymbol **)NULL;
- > reloc->next = section->constructor_chain;
- > section->constructor_chain = reloc;
- > reloc->relent.address = section->size;
- > section->size += sizeof(int *);
- >
- > reloc->relent.howto = howto_table_ext +CTOR_TABLE_RELOC_IDX;
- > cache_ptr->symbol.flags |= BSF_DEBUGGING | BSF_CONSTRUCTOR;
- > }
- > break;
- 681c718,739
- <
- ---
- > if (cache_ptr->type == N_WARNING)
- > {
- > /* This symbol is the text of a warning message, the next symbol
- > is the symbol to associate the warning with */
- > cache_ptr->symbol.flags = BSF_DEBUGGING | BSF_WARNING;
- > cache_ptr->symbol.value = (bfd_vma)((cache_ptr+1));
- > /* We furgle with the next symbol in place. We don't want it to be undefined, we'll trample the type */
- > (sym_pointer+1)->e_type[0] = 0xff;
- > break;
- > }
- > if ((cache_ptr->type | N_EXT) == (N_INDR | N_EXT)) {
- > /* Two symbols in a row for an INDR message. The first symbol
- > contains the name we will match, the second symbol contains the
- > name the first name is translated into. It is supplied to us
- > undefined. This is good, since we want to pull in any files which
- > define it */
- > cache_ptr->symbol.flags = BSF_DEBUGGING | BSF_INDIRECT;
- > cache_ptr->symbol.value = (bfd_vma)((cache_ptr+1));
- > break;
- > }
- >
- >
- 706a765
- >
- 719c778
- <
- ---
- >
- 726c785
- <
- ---
- >
- 734c793
- <
- ---
- >
- 787c846,848
- <
- ---
- > if (cache_ptr->flags & (BSF_WARNING)) {
- > (sym_pointer+1)->e_type[0] = 1;
- > }
- 939c1000
- < translate_to_native_sym_flags (&nsp, (PTR)g, abfd);
- ---
- > translate_to_native_sym_flags (&nsp, g, abfd);
- 965c1026
- < g->name = itos(count); /* smash the generic symbol */
- ---
- > g->KEEPIT = (KEEPITTYPE) count;
- 1025c1086
- < r_index = stoi((*(g->sym_ptr_ptr))->name);
- ---
- > r_index = ((*(g->sym_ptr_ptr))->KEEPIT);
- 1111c1172
- < r_index = stoi((*(g->sym_ptr_ptr))->name);
- ---
- > r_index = stoi((*(g->sym_ptr_ptr))->KEEPIT);
- 1530c1591
- < provided a bfd, a section and an offset into the section, calculate
- ---
- > provided a BFD, a section and an offset into the section, calculate
- diff -r gdb-3.98/bfd/archive.c gdb-4.0/bfd/archive.c
- 27c27
- < Archives are supported in bfd in @code{archive.c}.
- ---
- > Archives are supported in BFD in @code{archive.c}.
- 29,32c29,32
- < An archive is represented internally just like another bfd, with a
- < pointer to a chain of contained bfds. Archives can be created by
- < opening bfds, linking them together and attatching them as children to
- < another bfd and then closing the parent bfd.
- ---
- > An archive is represented internally just like another BFD, with a
- > pointer to a chain of contained BFDs. Archives can be created by
- > opening BFDs, linking them together and attaching them as children to
- > another BFD and then closing the parent BFD.
- 42c42
- < /* $Id: archive.c,v 1.24 1991/07/31 16:57:25 gnu Exp $ */
- ---
- > /* $Id: archive.c,v 1.27 1991/08/22 16:16:51 steve Exp $ */
- 127c127,128
- < Used whilst processing archives. Sets the head of the chain of bfds
- ---
- >
- > Used whilst processing archives. Sets the head of the chain of BFDs
- 128a130
- >
- 129a132
- >
- 342a346
- > Return the sub bfd contained within the archive at archive index n.
- 359c363
- < Initially provided a bfd containing an archive and NULL, opens a bfd
- ---
- > Initially provided a BFD containing an archive and NULL, opens a BFD
- 362c366
- < return value to return a created bfd to the next contained element.
- ---
- > return value to return a created BFD to the next contained element.
- 567c571
- < stringsize = mapdata->parsed_size - (4 * (*raw_armap)) - 4;
- ---
- > stringsize = mapdata->parsed_size - (4 * (bfd_h_get_32(abfd, (PTR)raw_armap))) - 4;
- 570c574
- < unsigned int nsymz = *raw_armap;
- ---
- > unsigned int nsymz = bfd_h_get_32(abfd, (PTR)raw_armap);
- 589c593
- < carsyms->file_offset = *rawptr;
- ---
- > carsyms->file_offset = bfd_h_get_32(abfd, (PTR)rawptr);
- 596c600
- < ardata->symdef_count = *raw_armap;
- ---
- > ardata->symdef_count = bfd_h_get_32(abfd, (PTR)raw_armap);
- 603c607
- < So they will stick around until the bfd is closed. */
- ---
- > So they will stick around until the BFD is closed. */
- 961c965
- < /* The bfd is open for write and has its format set to bfd_archive */
- ---
- > /* The BFD is open for write and has its format set to bfd_archive */
- diff -r gdb-3.98/bfd/archures.c gdb-4.0/bfd/archures.c
- 24,25c24,25
- < keeps two atoms in a bfd describing the architecture of the data
- < attatched to the bfd, the @code{enum bfd_architecture arch} field and
- ---
- > keeps two atoms in a BFD describing the architecture of the data
- > attached to the BFD, the @code{enum bfd_architecture arch} field and
- 84c84
- < /* $Id: archures.c,v 1.8 1991/07/31 16:57:26 gnu Exp $ */
- ---
- > /* $Id: archures.c,v 1.12 1991/08/20 22:23:50 pesch Exp $ */
- 125c125
- < bfd_printable_arch_mach.
- ---
- > @code{bfd_printable_arch_mach}.
- 347c347
- < two architectures and machine types implied by the bfds and sets the
- ---
- > two architectures and machine types implied by the BFDs and sets the
- 350c350
- < This routine returns @code{true} if the bfds are of compatible type,
- ---
- > This routine returns @code{true} if the BFDs are of compatible type,
- 458a459,462
- >
- >
- >
- >
- Only in gdb-4.0/bfd: bfd-in.h
- diff -r gdb-3.98/bfd/bfd.c gdb-4.0/bfd/bfd.c
- 21c21
- < /* $Id: bfd.c,v 1.18 1991/07/31 16:57:27 gnu Exp $ */
- ---
- > /* $Id: bfd.c,v 1.22 1991/08/22 18:27:01 pesch Exp $ */
- 24c24
- < @section typedef bfd
- ---
- > @section @code{typedef bfd}
- 26,28c26,28
- < Pointers to bfd structs are the cornerstone of any application using
- < libbfd. References though the bfd and to data in the bfd give the
- < entire bfd functionality.
- ---
- > A BFD is has type @code{bfd}; objects of this type are the cornerstone
- > of any application using @code{libbfd}. References though the BFD and
- > to data in the BFD give the entire BFD functionality.
- 30,31c30,32
- < Finally! The BFD struct itself. This contains the major data about
- < the file, and contains pointers to the rest of the data.
- ---
- > Here is the struct used to define the type @code{bfd}. This contains
- > the major data about the file, and contains pointers to the rest of
- > the data.
- 37c38
- < The filename the application opened the bfd with.
- ---
- > The filename the application opened the BFD with.
- 47c48
- < includes bfd.h, IOSTREAM has been declared as a "char *", and MTIME
- ---
- > includes @file{bfd.h}, IOSTREAM has been declared as a "char *", and MTIME
- 59c60
- < Marks whether there was a default target specified when the bfd was
- ---
- > Marks whether there was a default target specified when the BFD was
- 65c66,67
- < The caching routines use these to maintain an LRU list of bfds.
- ---
- > The caching routines use these to maintain a least-recently-used list of
- > BFDs (@pxref{File Caching}).
- 69,70c71,72
- < When a file is closed by the caching routines, it retains the state
- < here:
- ---
- > When a file is closed by the caching routines, BFD retains state
- > information on the file here:
- 83c85
- < For output files, channel we locked (is this used?).
- ---
- > Reserved for an unimplemented file locking extension.
- 87c89
- < The format which belongs to the bfd.
- ---
- > The format which belongs to the BFD.
- 91c93
- < The direction the bfd was opened with
- ---
- > The direction the BFD was opened with
- 120c122
- < Stuff only usefull for object files:
- ---
- > Stuff only useful for object files:
- 127c129
- < Symtab for output bfd
- ---
- > Symbol table for output BFD
- 139c141
- < Stuff only usefull for archives:
- ---
- > Stuff only useful for archives:
- 155c157
- < Where all the allocated stuff under this BFD goes
- ---
- > Where all the allocated stuff under this BFD goes (@pxref{Memory Usage}).
- 356c358
- < Marks the entry point of an output bfd. Returns @code{true} on
- ---
- > Marks the entry point of an output BFD. Returns @code{true} on
- Only in gdb-3.98/bfd: bfd.texinfo
- diff -r gdb-3.98/bfd/cache.c gdb-4.0/bfd/cache.c
- 24c24
- < bfds as it wants without regard to the underlying operating system's
- ---
- > BFDs as it wants without regard to the underlying operating system's
- 30c30
- < required bfd is open. If not, then it chooses a file to close, closes
- ---
- > required BFD is open. If not, then it chooses a file to close, closes
- 37c37
- < /* $Id: cache.c,v 1.8 1991/07/31 16:57:29 gnu Exp $ */
- ---
- > /* $Id: cache.c,v 1.10 1991/08/19 23:02:59 pesch Exp $ */
- 55c55
- < static bfd *cache_sentinel; /* Chain of bfds with active fds we've
- ---
- > static bfd *cache_sentinel; /* Chain of BFDs with active fds we've
- 59,61c59,61
- < Zero, or a pointer to the topmost bfd on the chain. This is used by the
- < bfd_cache_lookup() macro in libbfd.h to determine when it can avoid a function
- < call.
- ---
- > Zero, or a pointer to the topmost BFD on the chain. This is used by
- > the @code{bfd_cache_lookup} macro in @file{libbfd.h} to determine when
- > it can avoid a function call.
- 71,72c71,72
- < Checks to see if the required bfd is the same as the last one looked
- < up. If so then it can use the iostream in the bfd with impunity, since
- ---
- > Checks to see if the required BFD is the same as the last one looked
- > up. If so then it can use the iostream in the BFD with impunity, since
- 106c106
- < /* Cuts the bfd abfd out of the chain in the cache */
- ---
- > /* Cuts the BFD abfd out of the chain in the cache */
- 163c163
- < Remove the bfd from the cache. If the attatched file is open, then close it too.
- ---
- > Remove the BFD from the cache. If the attached file is open, then close it too.
- 248c248
- < /* This is a bfd without a stream -
- ---
- > /* This is a BFD without a stream -
- diff -r gdb-3.98/bfd/coffcode.h gdb-4.0/bfd/coffcode.h
- 59c59
- < You can verify that your new bfd backend works quite simply by
- ---
- > You can verify that your new BFD backend works quite simply by
- 72c72
- < Each flavour of coff supported in bfd has its own header file
- ---
- > Each flavour of coff supported in BFD has its own header file
- 86c86
- < To port bfd, that person will have to add more @code{#defines}.
- ---
- > To port BFD, that person will have to add more @code{#defines}.
- 91c91
- < own, but uses bfd to fix things up.
- ---
- > own, but uses BFD to fix things up.
- 94c94
- < The simple canonical form for symbols used by bfd is not rich enough
- ---
- > The simple canonical form for symbols used by BFD is not rich enough
- 122c122
- < canonical table used by the bfd application. Each symbol is inspected
- ---
- > canonical table used by the BFD application. Each symbol is inspected
- 128c128
- < Any linenumbers are read from the coff file too, and attatched to the
- ---
- > Any linenumbers are read from the coff file too, and attached to the
- 134c134
- < remembers the bfd from which was born, and on output the back end
- ---
- > remembers the BFD from which was born, and on output the back end
- 146c146
- < The symbol table is not output to a writable bfd until it is closed.
- ---
- > The symbol table is not output to a writable BFD until it is closed.
- 158c158
- < of bfd into the form used by coff. Internally, bfd expects symbol
- ---
- > of BFD into the form used by coff. Internally, BFD expects symbol
- 221c221
- < The actual symbol which the rest of bfd works with
- ---
- > The actual symbol which the rest of BFD works with
- 238c238
- < /* $Id: coffcode.h,v 1.13 1991/07/31 16:57:31 gnu Exp $ */
- ---
- > /* $Id: coffcode.h,v 1.18 1991/08/23 20:55:25 gnu Exp $ */
- 1053c1053
- < bfd_swap_aouthdr_in(abfd, &opthdr, &internal_a);
- ---
- > bfd_swap_aouthdr_in(abfd, (char *)&opthdr, (char *)&internal_a);
- 1671,1672c1671,1674
- < size = size;
- < bfd_write((PTR) &size, 1, sizeof(size), abfd);
- ---
- > bfd_byte buffer[4];
- >
- > bfd_h_put_32(abfd, size, buffer);
- > bfd_write((PTR) buffer, 1, sizeof(buffer), abfd);
- 1679c1681,1682
- < maxlen = ((c_symbol != NULL && c_symbol->native != NULL) && (c_symbol->native->u.syment.n_sclass == C_FILE)) ?
- ---
- > maxlen = ((c_symbol != NULL && c_symbol->native != NULL) &&
- > (c_symbol->native->u.syment.n_sclass == C_FILE)) ?
- 2476c2479
- < coff_swap_sym_in(abfd, raw_src,&internal_ptr->u.syment);
- ---
- > coff_swap_sym_in(abfd, (char *)raw_src, (char *)&internal_ptr->u.syment);
- 2907c2910
- < Coff relocations are easily transformed into the internal bfd form
- ---
- > Coff relocations are easily transformed into the internal BFD form
- 3080c3083
- < provided a bfd, a section and an offset into the section, calculate and
- ---
- > provided a BFD, a section and an offset into the section, calculate and
- 3138c3141
- < If this is the same bfd as we were previously called with and this is
- ---
- > If this is the same BFD as we were previously called with and this is
- Only in gdb-4.0/bfd/config: hmake-hp300bsd
- Only in gdb-3.98/bfd/config: tmake-a29k
- Only in gdb-4.0/bfd/config: tmake-a29k-aout
- Only in gdb-4.0/bfd/config: tmake-a29k-coff
- Only in gdb-3.98/bfd/config: tmake-coff-a29k
- Only in gdb-4.0/bfd/config: tmake-dec3100
- Only in gdb-4.0/bfd/config: tmake-hp300bsd
- Only in gdb-3.98/bfd/config: tmake-i386
- Only in gdb-4.0/bfd/config: tmake-i386-aout
- Only in gdb-4.0/bfd/config: tmake-i386-coff
- Only in gdb-3.98/bfd/config: tmake-i960
- Only in gdb-4.0/bfd/config: tmake-i960-bout
- Only in gdb-4.0/bfd/config: tmake-i960-coff
- Only in gdb-4.0/bfd/config: tmake-m68k-aout
- Only in gdb-4.0/bfd/config: tmake-m68k-coff
- Only in gdb-4.0/bfd/config: tmake-m88k-aout
- Only in gdb-4.0/bfd/config: tmake-m88k-coff
- Only in gdb-4.0/bfd/config: tmake-sparc-aout
- Only in gdb-3.98/bfd/config: tmake-sun3
- Only in gdb-3.98/bfd/config: tmake-sun4
- Only in gdb-4.0/bfd: config.sub
- diff -r gdb-3.98/bfd/configure gdb-4.0/bfd/configure
- 27c27
- < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
- ---
- > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
- 57a58
- > recursing=
- 62a64
- > commontargets=
- 70c72
- < -ansi | +ansi)
- ---
- > -ansi | +a*)
- 71a74
- > clib=clib
- 76,79d78
- < -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
- < | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
- < forcesubdirs=${arg}
- < ;;
- 85c84
- < -gas | +gas | +ga | +g)
- ---
- > -gas | +g*)
- 88c87
- < -help | +h | +help)
- ---
- > -help | +h*)
- 91c90
- < -nfp | +nfp | +nf | +n)
- ---
- > -nfp | +nf*)
- 94c93
- < -norecurse | +norecurse)
- ---
- > -norecurse | +no*)
- 97c96,99
- < -rm | +rm)
- ---
- > -recursing)
- > recursing=true
- > ;;
- > -rm | +r*)
- 103c105,108
- < -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
- ---
- > -subdirs | +f* | +su*)
- > subdirs=${arg}
- > ;;
- > -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
- 105c110
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 111c116
- < -template=* | +template=*)
- ---
- > -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
- 114c119
- < +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
- ---
- > -v | -verbose | +v*)
- 125c130
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 136d140
- < echo targets=\"${targets}\"
- 145c149
- < echo) 2>&1
- ---
- > echo) 1>&2
- 156c160
- < echo " +forcesubdirs configure in subdirectories. [in source directories]" ;
- ---
- > echo " +subdirs configure in subdirectories. [in source directories]" ;
- 167c171
- < echo "Asking for more than one \"+target\" implies \"+forcesubdirs\". Any other" ;
- ---
- > echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- 191c195
- < echo "Can't find template ${template}."
- ---
- > echo '***' "Can't find template ${template}." 1>&2
- 212c216
- < echo `pwd`/configure.in has no "per-host:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
- 217c221
- < echo `pwd`/configure.in has no "per-target:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
- 250c254,268
- < echo Rebuilt configure in `pwd`
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt configure in `pwd`
- > fi
- >
- > # Now update config.sub from the template directory.
- > if echo "$template" | grep -s 'configure$' ; then
- > cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
- > # mv config.sub config.sub.old
- > mv config.sub.new config.sub
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt config.sub in `pwd`
- > fi
- > fi
- 276c294
- < echo No configure script in `pwd`/$i
- ---
- > echo Warning: No configure script in `pwd`/$i
- 279c297,299
- < echo Warning: directory $i is missing.
- ---
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory $i is missing.
- > fi
- 290c310
- < echo srctrigger not set in configure.in. `pwd` not configured.
- ---
- > echo Warning: srctrigger not set in configure.in. `pwd` not configured.
- 300a321,325
- > result=`/bin/sh ./config.sub ${host}`
- > host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > host=${host_cpu}-${host_vendor}-${host_os}
- 305c330,371
- < ## end of per-host part.
- ---
- > if [ "${host_os}" = "posix" ] ; then
- > bfd_host=posix
- > else
- > case "${host_cpu}" in
- > rs6000) bfd_host=aix ;;
- > mips)
- > case "${host_vendor}" in
- > dec) bfd_host=dec3100 ;;
- > esac
- > ;;
- > m88k)
- > case "${host_vendor}" in
- > *)
- > case "${host_os}" in
- > dgux) bfd_host=dgux ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > m68k)
- > case "${host_vendor}" in
- > hp)
- > case "${host_os}" in
- > hpux) bfd_host=hp9000 ;;
- > bsd) bfd_host=hp300bsd ;;
- > esac
- > ;;
- > sony) bfd_host=news ;;
- > sun) bfd_host=sun3 ;;
- > esac
- > ;;
- >
- > i386)
- > case "${host_vendor}" in
- > *)
- > case "${host_os}" in
- > sysv) bfd_host=i386v ;;
- > esac
- > ;;
- > esac
- > ;;
- 306a373,377
- > sparc)
- > case "${host_vendor}" in
- > sun) bfd_host=sun4 ;;
- > esac
- > ;;
- 308c379,382
- < for target in ${targets} ; do
- ---
- > rtpc) bfd_host=rtbsd ;;
- > tahoe | vax) bfd_host=${host_cpu} ;;
- > esac
- > fi
- 310,312c384,389
- < if [ -n "${verbose}" ] ; then
- < echo " target=\"${target}\""
- < fi
- ---
- > if [ ! -f config/hmake-${bfd_host} ] ; then
- > echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
- > exit 1
- > fi
- >
- > host_makefile_frag=config/hmake-${bfd_host}
- 313a391,399
- > ## end of per-host part.
- >
- > for target in ${targets} ; do
- >
- > result=`/bin/sh ./config.sub ${target}`
- > target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > target=${target_cpu}-${target_vendor}-${target_os}
- 317a404,453
- > case "${target_vendor}" in
- > aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
- > sony) bfd_target=news ;;
- > intel) bfd_target=${target_cpu}-coff ;;
- > wrs)
- > case "${target_cpu}" in
- > i960) bfd_target=i960-bout ;;
- > m68k) bfd_target=m68k-aout ;;
- > esac
- > ;;
- > sun)
- > case "${target_cpu}" in
- > m68k) bfd_target=m68k-aout ;;
- > sparc) bfd_target=sparc-aout ;;
- > esac
- > ;;
- > dec)
- > case "${target_cpu}" in
- > mips) bfd_target=dec3100 ;;
- > esac
- > ;;
- > hp)
- > case "${target_cpu}" in
- > m68k)
- > case "${target_os}" in
- > hpux) bfd_target=hp9000 ;;
- > bsd) bfd_target=hp300bsd ;;
- > esac
- > ;;
- > esac
- > ;;
- > none)
- > case "${target_cpu}" in
- > i386) bfd_target=i386-coff ;;
- > esac
- > ;;
- > *)
- > case "${target_cpu}" in
- > tahoe | vax) bfd_target=${target_cpu} ;;
- > esac
- > ;;
- > esac
- >
- > if [ ! -f config/tmake-${bfd_target} ] ; then
- > echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
- > exit 1
- > fi
- >
- > target_makefile_frag=config/tmake-${bfd_target}
- >
- 327c463
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 331c467
- < if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
- ---
- > if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
- 341c477
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 344c480
- < echo "${Makefile} already exists in source directory. `pwd` not configured."
- ---
- > echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
- 351c487,498
- < if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
- ---
- > if [ ! -d ${targetsubdir} ] ; then
- > if [ -z "${commontargets}" ] ; then
- > mkdir ${targetsubdir}
- > else
- > if [ ! -d Target-independent ] ; then
- > mkdir Target-independent
- > fi
- >
- > ${symbolic_link} Target-independent ${targetsubdir}
- > fi # if target independent
- > fi # if no target dir yet
- >
- 358c505
- < echo "Configured subdirs exist. `pwd` not configured."
- ---
- > echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
- 374c521
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- 376c523
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- 379c526
- < echo \(At least ${srctrigger} is missing.\) 1>&2
- ---
- > echo '***' \(At least ${srctrigger} is missing.\) 1>&2
- 393,394c540,541
- < echo "${progname}: cannot create a link \"${link}\"," 1>&2
- < echo "since the file \"${file}\" does not exist." 1>&2
- ---
- > echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- > echo '***' "since the file \"${file}\" does not exist." 1>&2
- 404c551
- < echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- ---
- > echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- 407c554,557
- < echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- > fi
- 443c593
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 500c650,652
- < echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- ---
- > if [ -n "${verbose}" -o -z "${recursing}" ] ; then
- > echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- > fi
- 519,538d670
- < done # for each target
- <
- < # # Now build a Makefile for this host.
- < # if [ -n "${forcesubdirs}" ] ; then
- < # cd ${hostsubdir}
- < # cat > GNUmakefile << E!O!F
- < ## Makefile generated by configure for host ${host}.
- < #
- < #%:
- < # for i in ${targets} ; do \
- < # $(MAKE) -C Target-\$i \$@
- < #
- < #all clean stage1 stage2 stage3 stage4etags tags TAGS
- < #E!O!F
- < # fi
- < done # for each host
- <
- < # If there are subdirectories, then recurse.
- <
- < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
- 540,586c672,691
- < # configdirs is not null
- < for configdir in ${configdirs} ; do
- < echo Configuring ${configdir}...
- < specifics=
- < commons=
- <
- < if [ -n "${defaulttargets}" ] ; then
- < for host in ${hosts} ; do
- < if [ -d ${configdir}.${host} ] ; then
- < newspecifics="${specifics} ${host}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} ${host}"
- < commons=${newcommons}
- < fi # if target specific
- < done # for each host
- <
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any common hosts
- <
- < if [ -n "${specifics}" ] ; then
- < for host in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${host}...
- < (cd ${configdir}.${host} ;
- < ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done # for host in specifics
- < fi # if there are any specifics
- < else
- <
- < for target in ${targets} ; do
- < if [ -d ${configdir}.${target} ] ; then
- < newspecifics="${specifics} ${target}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} +target=${target}"
- < commons=${newcommons}
- < fi
- <
- < done # check for target specific dir override
- ---
- > # If there are subdirectories, then recurse.
- > if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
- > for configdir in ${configdirs} ; do
- > if [ -n "${verbose}" ] ; then
- > echo Configuring ${configdir}...
- > fi
- >
- > if [ -d ${configdir} ] ; then
- > (cd ${configdir} ;
- > ./configure -recursing ${host} +target=${target} \
- > ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- > | sed 's/^/ /'
- > else
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory \"${configdir}\" is missing.
- > fi
- > fi
- > done
- > fi
- > done # for each target
- 588,591c693,702
- < if [ -n "${verbose}" ] ; then
- < echo " "commons=\"${commons}\"
- < echo " "specifics=\"${specifics}\"
- < fi # if verbose
- ---
- > # Now build a Makefile for this host.
- > if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
- > cd ${hostsubdir}
- > cat > GNUmakefile << E!O!F
- > # Makefile generated by configure for host ${host}.
- >
- > ALL := $(shell ls -d Target-*)
- >
- > %:
- > $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
- 593,614c704,708
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < ${commons} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any commons
- <
- < if [ -n "${specifics}" ] ; then
- < for target in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${target}...
- < (cd ${configdir}.${target} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < "+target=${target}" +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done
- < fi # if any specifics
- < fi # not default targets
- < done
- ---
- > all:
- > E!O!F
- > cd ..
- > fi
- > done # for each host
- 619a714,744
- > # Revision 1.31 1991/08/23 04:50:57 rich
- > # Minor config polish.
- > #
- > # Revision 1.22 1991/08/23 03:31:43 rich
- > # Minor polish & config mapping.
- > #
- > # Revision 1.30 1991/08/22 07:15:51 rich
- > # Three part names, etc.
- > #
- > # Revision 1.29 1991/08/20 04:56:51 rich
- > # revisiting error messages
- > #
- > # Revision 1.28 1991/08/16 19:22:17 rich
- > # This is the commontargets change and should be considered
- > # experimental.
- > #
- > # Revision 1.27 1991/08/08 01:14:13 rich
- > # allow +f to stand in for +subdirs
- > #
- > # Revision 1.26 1991/08/07 19:21:32 rich
- > # +forcesubdirs -> +subdirs
- > #
- > # Revision 1.25 1991/08/07 07:05:30 rich
- > # Added make.
- > #
- > # Revision 1.24 1991/08/06 19:26:01 rich
- > # revised option parsing.
- > #
- > # Revision 1.23 1991/08/06 19:12:32 rich
- > # Host-level GNUmakefiles.
- > #
- diff -r gdb-3.98/bfd/configure.in gdb-4.0/bfd/configure.in
- 10a11,71
- > if [ "${host_os}" = "posix" ] ; then
- > bfd_host=posix
- > else
- > case "${host_cpu}" in
- > rs6000) bfd_host=aix ;;
- > mips)
- > case "${host_vendor}" in
- > dec) bfd_host=dec3100 ;;
- > esac
- > ;;
- > m88k)
- > case "${host_vendor}" in
- > *)
- > case "${host_os}" in
- > dgux) bfd_host=dgux ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > m68k)
- > case "${host_vendor}" in
- > hp)
- > case "${host_os}" in
- > hpux) bfd_host=hp9000 ;;
- > bsd) bfd_host=hp300bsd ;;
- > esac
- > ;;
- > sony) bfd_host=news ;;
- > sun) bfd_host=sun3 ;;
- > esac
- > ;;
- >
- > i386)
- > case "${host_vendor}" in
- > *)
- > case "${host_os}" in
- > sysv) bfd_host=i386v ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > sparc)
- > case "${host_vendor}" in
- > sun) bfd_host=sun4 ;;
- > esac
- > ;;
- >
- > rtpc) bfd_host=rtbsd ;;
- > tahoe | vax) bfd_host=${host_cpu} ;;
- > esac
- > fi
- >
- > if [ ! -f config/hmake-${bfd_host} ] ; then
- > echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
- > exit 1
- > fi
- >
- > host_makefile_frag=config/hmake-${bfd_host}
- >
- 11a73,122
- >
- > case "${target_vendor}" in
- > aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
- > sony) bfd_target=news ;;
- > intel) bfd_target=${target_cpu}-coff ;;
- > wrs)
- > case "${target_cpu}" in
- > i960) bfd_target=i960-bout ;;
- > m68k) bfd_target=m68k-aout ;;
- > esac
- > ;;
- > sun)
- > case "${target_cpu}" in
- > m68k) bfd_target=m68k-aout ;;
- > sparc) bfd_target=sparc-aout ;;
- > esac
- > ;;
- > dec)
- > case "${target_cpu}" in
- > mips) bfd_target=dec3100 ;;
- > esac
- > ;;
- > hp)
- > case "${target_cpu}" in
- > m68k)
- > case "${target_os}" in
- > hpux) bfd_target=hp9000 ;;
- > bsd) bfd_target=hp300bsd ;;
- > esac
- > ;;
- > esac
- > ;;
- > none)
- > case "${target_cpu}" in
- > i386) bfd_target=i386-coff ;;
- > esac
- > ;;
- > *)
- > case "${target_cpu}" in
- > tahoe | vax) bfd_target=${target_cpu} ;;
- > esac
- > ;;
- > esac
- >
- > if [ ! -f config/tmake-${bfd_target} ] ; then
- > echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
- > exit 1
- > fi
- >
- > target_makefile_frag=config/tmake-${bfd_target}
- diff -r gdb-3.98/bfd/core.c gdb-4.0/bfd/core.c
- 52c52
- < the file the bfd is attatched to.
- ---
- > the file the BFD is attached to.
- 69,70c69,70
- < Returns @code{true} if the core file attatched to @var{core_bfd} was
- < generated by a run of the executable file attatched to @var{exec_bfd},
- ---
- > Returns @code{true} if the core file attached to @var{core_bfd} was
- > generated by a run of the executable file attached to @var{exec_bfd},
- Only in gdb-4.0/bfd: doc
- diff -r gdb-3.98/bfd/ecoff.c gdb-4.0/bfd/ecoff.c
- 28a29
- > #include "trad-core.h"
- 37a39,48
- > #if HOST_SYS==DEC3100_SYS
- > /* If compiling on host, implement traditional Unix core files with upage */
- > #undef coff_core_file_failing_command
- > #define coff_core_file_failing_command trad_unix_core_file_failing_command
- > #undef coff_core_file_failing_signal
- > #define coff_core_file_failing_signal trad_unix_core_file_failing_signal
- > #undef coff_core_file_matches_executable_p
- > #define coff_core_file_matches_executable_p trad_unix_core_file_matches_executable_p
- > #endif
- >
- 44c55
- < #define coff_swap_aux_in (PROTO(void,(*),(bfd *,PTR,PTR))) bfd_void
- ---
- > #define coff_swap_aux_in (PROTO(void,(*),(bfd *,PTR,int,int,PTR))) bfd_void
- 93c104,110
- < bfd_generic_archive_p, _bfd_dummy_target},
- ---
- > bfd_generic_archive_p,
- > #if HOST_SYS==DEC3100_SYS
- > trad_unix_core_file_p /* On host, this works */
- > #else
- > _bfd_dummy_target /* Other folks get no core support */
- > #endif
- > },
- diff -r gdb-3.98/bfd/format.c gdb-4.0/bfd/format.c
- 23,24c23,24
- < A format is a @code{bfd} concept of high level file contents. The
- < formats supported by @code{bfd} are:
- ---
- > A format is a BFD concept of high level file contents. The
- > formats supported by BFD are:
- 27c27
- < The bfd may contain data, symbols, relocations and debug info.
- ---
- > The BFD may contain data, symbols, relocations and debug info.
- 29c29
- < The bfd contains other bfds and an optional index.
- ---
- > The BFD contains other BFDs and an optional index.
- 31c31
- < The bfd contains the result of an executable core dump.
- ---
- > The BFD contains the result of an executable core dump.
- 45,46c45,46
- < This routine is supplied a bfd and a format. It attempts to verify if
- < the file attatched to the bfd is indeed compatible with the format
- ---
- > This routine is supplied a BFD and a format. It attempts to verify if
- > the file attached to the BFD is indeed compatible with the format
- 50c50
- < If the bfd has been set to a specific @var{target} before the call,
- ---
- > If the BFD has been set to a specific @var{target} before the call,
- 154,156c154,156
- < This function sets the file format of the supplied bfd to the format
- < requested. If the target set in the bfd does not support the format
- < requested, the format is illegal or the bfd is not open for writing
- ---
- > This function sets the file format of the supplied BFD to the format
- > requested. If the target set in the BFD does not support the format
- > requested, the format is illegal or the BFD is not open for writing
- diff -r gdb-3.98/bfd/host-aout.c gdb-4.0/bfd/host-aout.c
- 1d0
- < #if 0
- 32c31,33
- < void (*bfd_error_trap)();
- ---
- > /*======== This next section is stolen from ../include/a.out.gnu.h
- > ======== for all the losing Unix systems that don't provide these
- > ======== macros.
- 34c35,61
- < static bfd_target *host_aout_callback ();
- ---
- > When porting to a new system, you must supply:
- >
- > HOST_PAGE_SIZE
- > HOST_SEGMENT_SIZE
- > HOST_MACHINE_ARCH (optional)
- > HOST_MACHINE_MACHINE (optional)
- > HOST_TEXT_START_ADDR
- > HOST_STACK_END_ADDR
- >
- > in the ../include/h-systemname.h file. */
- >
- > #define PAGE_SIZE HOST_PAGE_SIZE
- > #define SEGMENT_SIZE HOST_SEGMENT_SIZE
- > #define TEXT_START_ADDR HOST_TEXT_START_ADDR
- > #define STACK_END_ADDR HOST_STACK_END_ADDR
- >
- > /*======== Stolen section begins below. =================================*/
- >
- > #define a_info a_magic /* Old traditional Unix */
- >
- > #define N_MAGIC(exec) ((exec).a_info & 0xffff)
- > #define N_SET_MAGIC(exec, magic) \
- > ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
- >
- > /* Virtual Address of text segment from the a.out file. For OMAGIC,
- > (almost always "unlinked .o's" these days), should be zero.
- > For linked files, should reflect reality if we know it. */
- 35a63,121
- > #ifndef N_TXTADDR
- > #define N_TXTADDR(x) (N_MAGIC(x)==OMAGIC? 0 : TEXT_START_ADDR)
- > #endif
- >
- > #ifndef N_BADMAG
- > #define N_BADMAG(x) (N_MAGIC(x) != OMAGIC \
- > && N_MAGIC(x) != NMAGIC \
- > && N_MAGIC(x) != ZMAGIC)
- > #endif
- >
- > /* This complexity is for encapsulated COFF support */
- > #ifndef _N_HDROFF
- > #define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec))
- > #endif
- >
- > #ifndef N_TXTOFF
- > #define N_TXTOFF(x) (N_MAGIC(x) == ZMAGIC ? \
- > _N_HDROFF((x)) + sizeof (struct exec) : \
- > sizeof (struct exec))
- > #endif
- >
- >
- > #ifndef N_DATOFF
- > #define N_DATOFF(x) ( N_TXTOFF(x) + (x).a_text )
- > #endif
- >
- > #ifndef N_TRELOFF
- > #define N_TRELOFF(x) ( N_DATOFF(x) + (x).a_data )
- > #endif
- >
- > #ifndef N_DRELOFF
- > #define N_DRELOFF(x) ( N_TRELOFF(x) + (x).a_trsize )
- > #endif
- >
- > #ifndef N_SYMOFF
- > #define N_SYMOFF(x) ( N_DRELOFF(x) + (x).a_drsize )
- > #endif
- >
- > #ifndef N_STROFF
- > #define N_STROFF(x) ( N_SYMOFF(x) + (x).a_syms )
- > #endif
- >
- > /* Address of text segment in memory after it is loaded. */
- > #ifndef N_TXTADDR
- > #define N_TXTADDR(x) 0
- > #endif
- >
- > #ifndef N_DATADDR
- > #define N_DATADDR(x) \
- > (N_MAGIC(x)==OMAGIC? (N_TXTADDR(x)+(x).a_text) \
- > : (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
- > #endif
- >
- > /* Address of bss segment in memory after it is loaded. */
- > #define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
- >
- >
- > static bfd_target *NAME(host_aout,callback) ();
- >
- 40,41c126,127
- < host_aout_object_p (abfd)
- < bfd *abfd;
- ---
- > DEFUN(NAME(host_aout,object_p), (abfd),
- > bfd *abfd)
- 51c137
- < magic = bfd_h_getlong (abfd, magicbuf);
- ---
- > magic = bfd_h_get_32 (abfd, magicbuf);
- 55c141
- < return some_aout_object_p (abfd, host_aout_callback);
- ---
- > return NAME(aout,some_aout_object_p) (abfd, NAME(host_aout,callback));
- 59c145,146
- < This routine is called from some_aout_object_p just before it returns. */
- ---
- > This routine is called from NAME(some_aout_object_p) just before it returns.
- > */
- 62,63c149,150
- < host_aout_callback (abfd)
- < bfd *abfd;
- ---
- > DEFUN(NAME(host_aout,callback), (abfd),
- > bfd *abfd)
- 65c152,158
- < struct exec *execp = exec_hdr (abfd);
- ---
- > /* exec_hdr (abfd), a "struct internal_exec *", is just an abstraction,
- > as far as the BFD a.out layer cares. We use it as a "struct exec *".
- > This routine moves any data from the exec header,
- > which is needed by the BFD code, out to places known to BFD. This
- > allows the rest of the BFD code to not know or care about the structure
- > of exec_hdr (abfd). */
- > struct exec *execp = (struct exec *)exec_hdr (abfd);
- 90a184
- > obj_reloc_entry_size (abfd) = sizeof (struct relocation_info);
- 96,97c190,191
- < host_aout_mkobject (abfd)
- < bfd *abfd;
- ---
- > DEFUN(NAME(host_aout,mkobject), (abfd),
- > bfd *abfd)
- 99c193,198
- < char *rawptr;
- ---
- > /* This struct is just for allocating two things with one zalloc, so
- > they will be freed together, without violating alignment constraints. */
- > struct aout_exec {
- > struct aoutdata aoutdata;
- > struct exec exec;
- > } *rawptr;
- 104c203
- < rawptr = bfd_zalloc (abfd, sizeof (struct aoutdata) + sizeof (struct exec));
- ---
- > rawptr = (struct aout_exec *)bfd_zalloc (abfd, sizeof (struct aout_exec));
- 111,112c210,213
- < set_tdata (abfd, (struct aoutdata *) rawptr);
- < exec_hdr (abfd) = (struct exec *) (rawptr + sizeof (struct aoutdata));
- ---
- > set_tdata (abfd, &rawptr->aoutdata);
- > /* exec_hdr (abfd), a "struct internal_exec *", is just an abstraction,
- > as far as the BFD a.out layer cares. We use it as a "struct exec *". */
- > exec_hdr (abfd) = (struct internal_exec *) &rawptr->exec;
- 131,132c232,233
- < host_aout_write_object_contents (abfd)
- < bfd *abfd;
- ---
- > DEFUN(NAME(host_aout,write_object_contents), (abfd),
- > bfd *abfd)
- 135c236,237
- < #define EXEC_BYTES_SIZE sizeof (struct exec)
- ---
- > #define EXEC_BYTES_SIZE (sizeof (struct exec))
- > #define EXTERNAL_LIST_SIZE (sizeof (struct nlist))
- 138c240
- < struct exec *execp = exec_hdr (abfd);
- ---
- > struct exec *execp = (struct exec *)exec_hdr (abfd);
- 142,204c244
- <
- < N_SET_MAGIC (*execp, OMAGIC);
- < if (abfd->flags & D_PAGED) {
- < /* This is not strictly true, but will probably do for the default
- < case. FIXME.
- < */
- <
- < execp->a_text = obj_textsec (abfd)->size + EXEC_BYTES_SIZE;
- < N_SET_MAGIC (*execp, ZMAGIC);
- < } else if (abfd->flags & WP_TEXT) {
- < N_SET_MAGIC (*execp, NMAGIC);
- < }
- < N_SET_FLAGS (*execp, 0x1); /* copied from ld.c; who the hell knows? */
- < #ifndef PAGE_SIZE
- < #define PAGE_SIZE 2048
- < #endif
- < if (abfd->flags & D_PAGED)
- < {
- < data_pad = ((obj_datasec(abfd)->size + PAGE_SIZE -1)
- < & (- PAGE_SIZE)) - obj_datasec(abfd)->size;
- <
- < if (data_pad > obj_bsssec(abfd)->size)
- < execp->a_bss = 0;
- < else
- < execp->a_bss = obj_bsssec(abfd)->size - data_pad;
- < execp->a_data = obj_datasec(abfd)->size + data_pad;
- <
- < }
- < else {
- < execp->a_data = obj_datasec (abfd)->size;
- < execp->a_bss = obj_bsssec (abfd)->size;
- < }
- <
- < execp->a_syms = bfd_get_symcount (abfd) * sizeof (struct nlist);
- < execp->a_entry = bfd_get_start_address (abfd);
- <
- < execp->a_trsize = ((obj_textsec (abfd)->reloc_count) *
- < obj_reloc_entry_size (abfd));
- <
- < execp->a_drsize = ((obj_datasec (abfd)->reloc_count) *
- < obj_reloc_entry_size (abfd));
- <
- < bfd_aout_swap_exec_header_out (abfd, execp, exec_bytes);
- <
- < bfd_seek (abfd, 0L, false);
- < bfd_write ((PTR) exec_bytes, 1, EXEC_BYTES_SIZE, abfd);
- <
- < /* Now write out reloc info, followed by syms and strings */
- <
- < if (bfd_get_symcount (abfd) != 0)
- < {
- < bfd_seek (abfd,
- < (long)(N_SYMOFF(*execp)), false);
- <
- < aout_write_syms (abfd);
- <
- < bfd_seek (abfd, (long)(N_TRELOFF(*execp)), false);
- <
- < if (!aout_squirt_out_relocs (abfd, obj_textsec (abfd))) return false;
- < bfd_seek (abfd, (long)(N_DRELOFF(*execp)), false);
- <
- < if (!aout_squirt_out_relocs (abfd, obj_datasec (abfd))) return false;
- < }
- ---
- > WRITE_HEADERS (abfd, execp);
- 209,220c249,282
- < #define aout_openr_next_archived_file bfd_generic_openr_next_archived_file
- < #define aout_generic_stat_arch_elt bfd_generic_stat_arch_elt
- < #define aout_slurp_armap bfd_slurp_bsd_armap
- < #define aout_slurp_extended_name_table bfd_true
- < #define aout_write_armap bsd_write_armap
- < #define aout_truncate_arname bfd_bsd_truncate_arname
- <
- < /* We use traditional Unix core file format. */
- < #define aout_core_file_failing_command trad_unix_core_file_failing_command
- < #define aout_core_file_failing_signal trad_unix_core_file_failing_signal
- < #define aout_core_file_matches_executable_p \
- < trad_unix_core_file_matches_executable_p
- ---
- > #define aout_32_openr_next_archived_file bfd_generic_openr_next_archived_file
- > #define aout_32_generic_stat_arch_elt bfd_generic_stat_arch_elt
- > #define aout_32_slurp_armap bfd_slurp_bsd_armap
- > #define aout_32_slurp_extended_name_table bfd_true
- > #define aout_32_write_armap bsd_write_armap
- > #define aout_32_truncate_arname bfd_bsd_truncate_arname
- > /* #define aout_32_machine_type sunos_machine_type */
- >
- > /* Traditional Unix core files with upage */
- > #define aout_32_core_file_failing_command trad_unix_core_file_failing_command
- > #define aout_32_core_file_failing_signal trad_unix_core_file_failing_signal
- > #define aout_32_core_file_matches_executable_p trad_unix_core_file_matches_executable_p
- >
- >
- > #define aout_64_openr_next_archived_file bfd_generic_openr_next_archived_file
- > #define aout_64_generic_stat_arch_elt bfd_generic_stat_arch_elt
- > #define aout_64_slurp_armap bfd_slurp_bsd_armap
- > #define aout_64_slurp_extended_name_table bfd_true
- > #define aout_64_write_armap bsd_write_armap
- > #define aout_64_truncate_arname bfd_bsd_truncate_arname
- > /* #define aout_64_machine_type sunos_machine_type */
- >
- > #define aout_64_core_file_failing_command trad_unix_core_file_failing_command
- > #define aout_64_core_file_failing_signal trad_unix_core_file_failing_signal
- > #define aout_64_core_file_matches_executable_p trad_unix_core_file_matches_executable_p
- >
- > #define aout_64_bfd_debug_info_start bfd_void
- > #define aout_64_bfd_debug_info_end bfd_void
- > #define aout_64_bfd_debug_info_accumulate bfd_void
- >
- > #define aout_32_bfd_debug_info_start bfd_void
- > #define aout_32_bfd_debug_info_end bfd_void
- > #define aout_32_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
- >
- 222,223c284,286
- < /* We replace this function */
- < #define aout_write_object_contents host_aout_write_object_contents
- ---
- > /* We implement these routines ourselves, rather than using the generic
- > a.out versions. */
- > #define aout_write_object_contents host_write_object_contents
- 226,240c289,304
- < {
- < "a.out-host-big", /* name */
- < bfd_target_aout_flavour_enum,
- < true, /* target byte order */
- < true, /* target headers byte order */
- < (HAS_RELOC | EXEC_P | /* object flags */
- < HAS_LINENO | HAS_DEBUG |
- < HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
- < (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
- < ' ', /* ar_pad_char */
- < 16, /* ar_max_namelen */
- < _do_getb64, _do_putblong, _do_getbshort, _do_putbshort, /* data */
- < _do_getb64, _do_putblong, _do_getbshort, _do_putbshort, /* hdrs */
- <
- < {_bfd_dummy_target, host_aout_object_p,
- ---
- > {
- > "a.out-host-big",
- > bfd_target_aout_flavour_enum,
- > true, /* target byte order */
- > true, /* target headers byte order */
- > (HAS_RELOC | EXEC_P | /* object flags */
- > HAS_LINENO | HAS_DEBUG |
- > HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
- > (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
- > ' ', /* ar_pad_char */
- > 16, /* ar_max_namelen */
- > 3, /* minimum alignment power */
- > _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
- > _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
- >
- > {_bfd_dummy_target, NAME(host_aout,object_p),
- 242c306
- < {bfd_false, host_aout_mkobject,
- ---
- > {bfd_false, NAME(host_aout,mkobject),
- 244c308
- < {bfd_false, aout_write_object_contents, /* bfd_write_contents */
- ---
- > {bfd_false, NAME(host_aout,write_object_contents), /* bfd_write_contents */
- 246,247c310,311
- <
- < JUMP_TABLE(aout)
- ---
- >
- > JUMP_TABLE(JNAME(aout))
- 251,265c315,330
- < {
- < "a.out-host-little", /* name */
- < bfd_target_aout_flavour_enum,
- < false, /* target byte order */
- < false, /* target headers byte order */
- < (HAS_RELOC | EXEC_P | /* object flags */
- < HAS_LINENO | HAS_DEBUG |
- < HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
- < (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
- < ' ', /* ar_pad_char */
- < 16, /* ar_max_namelen */
- < _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* data */
- < _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* hdrs */
- <
- < {_bfd_dummy_target, host_aout_object_p,
- ---
- > {
- > "a.out-host-little",
- > bfd_target_aout_flavour_enum,
- > false, /* target byte order */
- > false, /* target headers byte order */
- > (HAS_RELOC | EXEC_P | /* object flags */
- > HAS_LINENO | HAS_DEBUG |
- > HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
- > (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
- > ' ', /* ar_pad_char */
- > 16, /* ar_max_namelen */
- > 3, /* minimum alignment power */
- > _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
- > _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
- >
- > {_bfd_dummy_target, NAME(host_aout,object_p),
- 267c332
- < {bfd_false, host_aout_mkobject,
- ---
- > {bfd_false, NAME(host_aout,mkobject),
- 269c334
- < {bfd_false, aout_write_object_contents, /* bfd_write_contents */
- ---
- > {bfd_false, NAME(host_aout,write_object_contents), /* bfd_write_contents */
- 271,272c336,337
- <
- < JUMP_TABLE(aout)
- ---
- >
- > JUMP_TABLE(JNAME(aout))
- 274d338
- < #endif
- diff -r gdb-3.98/bfd/ieee.c gdb-4.0/bfd/ieee.c
- 1379c1379
- < /* Work out which symbol to attatch it this reloc to */
- ---
- > /* Work out which symbol to attach it this reloc to */
- diff -r gdb-3.98/bfd/libaout.h gdb-4.0/bfd/libaout.h
- 25c25
- < /* $Id: libaout.h,v 1.10 1991/07/31 16:57:44 gnu Exp $ */
- ---
- > /* $Id: libaout.h,v 1.11 1991/08/13 18:49:08 steve Exp $ */
- 178a179,182
- > if ((obj_textsec(abfd)->vma & 0xff )== EXEC_BYTES_SIZE) \
- > abfd->flags |= D_PAGED; \
- > else \
- > abfd->flags &= ~D_PAGED; \
- Only in gdb-4.0/bfd: libbfd-in.h
- diff -r gdb-3.98/bfd/libbfd.c gdb-4.0/bfd/libbfd.c
- 21c21
- < /* $Id: libbfd.c,v 1.18 1991/07/31 16:57:45 gnu Exp $ */
- ---
- > /* $Id: libbfd.c,v 1.19 1991/08/19 20:52:31 pesch Exp $ */
- 132c132
- < This allows someone to play with the iostream behind bfd's back.
- ---
- > This allows someone to play with the iostream behind BFD's back.
- 173c173
- < /* For the time being, a bfd may not seek to it's end. The
- ---
- > /* For the time being, a BFD may not seek to it's end. The
- 276c276
- < of the bfd and mangled accordingly. The mangling performs any
- ---
- > of the BFD and mangled accordingly. The mangling performs any
- diff -r gdb-3.98/bfd/libbfd.h gdb-4.0/bfd/libbfd.h
- 22c22
- < /* $Id: libbfd.h,v 1.15 1991/07/31 16:57:46 gnu Exp $ */
- ---
- > /* $Id: libbfd.h,v 1.19 1991/08/21 21:37:36 pesch Exp $ */
- 182c182,184
- < /* Return the log base 2 of the value supplied, rounded up. eg an arg
- ---
- > /*:libbfd.c*/
- > /* *i bfd_log2
- > Return the log base 2 of the value supplied, rounded up. eg an arg
- 185,186c187,194
- < PROTO(bfd_vma, bfd_log2,(bfd_vma x));
- < /* The maxiumum number of files which the cache will keep open at one
- ---
- > PROTO(bfd_vma, bfd_log2,(bfd_vma x));
- >
- > /*
- > */
- >
- > /*:cache.c*/
- > /* BFD_CACHE_MAX_OPEN
- > The maxiumum number of files which the cache will keep open at one
- 191,193c199,204
- < /* Zero, or a pointer to the topmost bfd on the chain. This is used by the
- < bfd_cache_lookup() macro in libbfd.h to determine when it can avoid a function
- < call.
- ---
- > /*
- >
- > bfd_last_cache
- > Zero, or a pointer to the topmost BFD on the chain. This is used by
- > the @code{bfd_cache_lookup} macro in @file{libbfd.h} to determine when
- > it can avoid a function call.
- 197,198c208,212
- < /* Checks to see if the required bfd is the same as the last one looked
- < up. If so then it can use the iostream in the bfd with impunity, since
- ---
- > /*
- >
- > bfd_cache_lookup
- > Checks to see if the required BFD is the same as the last one looked
- > up. If so then it can use the iostream in the BFD with impunity, since
- 206a221
- > /*
- 208,211c223,224
- < /* Initialize a BFD by putting it on the cache LRU.
- < */
- < PROTO(void, bfd_cache_init, (bfd *));
- < /* Remove the bfd from the cache. If the attatched file is open, then close it too.
- ---
- > *i bfd_cache_init
- > Initialize a BFD by putting it on the cache LRU.
- 213,214c226,238
- < PROTO(void, bfd_cache_close, (bfd *));
- < /* Call the OS to open a file for this BFD. Returns the FILE *
- ---
- > PROTO(void, bfd_cache_init, (bfd *));
- >
- > /*
- >
- > *i bfd_cache_close
- > Remove the BFD from the cache. If the attached file is open, then close it too.
- > */
- > PROTO(void, bfd_cache_close, (bfd *));
- >
- > /*
- >
- > *i bfd_open_file
- > Call the OS to open a file for this BFD. Returns the FILE *
- 220,221c244,249
- < PROTO(FILE *, bfd_open_file, (bfd *));
- < /* Called when the macro @code{bfd_cache_lookup} fails to find a quick
- ---
- > PROTO(FILE *, bfd_open_file, (bfd *));
- >
- > /*
- >
- > *i bfd_cache_lookup_worker
- > Called when the macro @code{bfd_cache_lookup} fails to find a quick
- 226c254,261
- < PROTO(FILE *, bfd_cache_lookup_worker, (bfd *));
- ---
- > PROTO(FILE *, bfd_cache_lookup_worker, (bfd *));
- >
- > /*
- > */
- >
- >
- > /*:reloc.c*/
- >
- Only in gdb-4.0/bfd: libcoff-in.h
- diff -r gdb-3.98/bfd/libcoff.h gdb-4.0/bfd/libcoff.h
- 21c21
- < /* $Id: libcoff.h,v 1.11 1991/07/31 16:57:47 gnu Exp $ */
- ---
- > /* $Id: libcoff.h,v 1.15 1991/08/21 21:37:37 pesch Exp $ */
- 87c87
- < /*THE FOLLOWING*/
- ---
- > /*THE FOLLOWING IS EXTRACTED FROM THE SOURCE*/
- 89c89
- < /* The hidden information for an asymbol is:
- ---
- > /*:coffcode.h*/
- 90a91,92
- > /*
- > The hidden information for an asymbol is:
- 91a94
- >
- 95,97c98,102
- < /* Remembers the offset from the first symbol in the file for this
- < symbol. Generated by @code{coff_renumber_symbols}.
- < */
- ---
- > /*
- > Remembers the offset from the first symbol in the file for this
- > symbol. Generated by @code{coff_renumber_symbols}.
- > */
- >
- 100,102c105,109
- < /* Should the tag field of this symbol be renumbered.
- < Created by @code{coff_pointerize_aux}.
- < */
- ---
- > /*
- > Should the tag field of this symbol be renumbered.
- > Created by @code{coff_pointerize_aux}.
- > */
- >
- 105,107c112,116
- < /* Should the endidx field of this symbol be renumbered.
- < Created by @code{coff_pointerize_aux}.
- < */
- ---
- > /*
- > Should the endidx field of this symbol be renumbered.
- > Created by @code{coff_pointerize_aux}.
- > */
- >
- 110,111c119,122
- < /* The container for the symbol structure as read and translated from the file.
- < */
- ---
- > /*
- > The container for the symbol structure as read and translated from the file.
- > */
- >
- 117a129
- > /*
- 119,120c131
- < /* Each canonical asymbol really looks like this:
- <
- ---
- > Each canonical asymbol really looks like this:
- 121a133
- >
- 125,126c137,140
- < /* The actual symbol which the rest of bfd works with
- < */
- ---
- > /*
- > The actual symbol which the rest of BFD works with
- > */
- >
- 129,130c143,146
- < /* A pointer to the hidden information for this symbol
- < */
- ---
- > /*
- > A pointer to the hidden information for this symbol
- > */
- >
- 133,134c149,152
- < /* A pointer to the linenumber information for this symbol
- < */
- ---
- > /*
- > A pointer to the linenumber information for this symbol
- > */
- >
- 136a155,159
- >
- > /*
- > */
- >
- >
- diff -r gdb-3.98/bfd/newsos3.c gdb-4.0/bfd/newsos3.c
- 123c123
- < #define newsos_bfd_debug_info_accumulate bfd_void
- ---
- > #define newsos_bfd_debug_info_accumulate (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
- diff -r gdb-3.98/bfd/oasys.c gdb-4.0/bfd/oasys.c
- 21c21
- < /* $Id: oasys.c,v 1.27 1991/07/31 16:57:55 gnu Exp $ */
- ---
- > /* $Id: oasys.c,v 1.29 1991/08/19 23:03:07 pesch Exp $ */
- 227c227
- < oasys_external_archive_header_type header_ext;
- ---
- > oasys_extarchive_header_type header_ext;
- 285c285
- < oasys_external_module_table_type_a_type record_ext;
- ---
- > oasys_extmodule_table_type_a_type record_ext;
- 307c307
- < oasys_external_module_table_type_b_type record_ext;
- ---
- > oasys_extmodule_table_type_b_type record_ext;
- 1060c1060
- < /* The relent has a section attatched, so it must be section
- ---
- > /* The relent has a section attached, so it must be section
- 1070c1070
- < /* If this symbol has a section attatched, then it
- ---
- > /* If this symbol has a section attached, then it
- diff -r gdb-3.98/bfd/opncls.c gdb-4.0/bfd/opncls.c
- 1c1
- < /* opncls.c -- open and close a bfd.
- ---
- > /* opncls.c -- open and close a BFD.
- 21c21
- < /* $Id: opncls.c,v 1.20 1991/07/31 16:57:56 gnu Exp $ */
- ---
- > /* $Id: opncls.c,v 1.24 1991/08/21 21:55:01 steve Exp $ */
- 26c26
- <
- ---
- > #include "obstack.h"
- 33,49d32
- < /** Locking
- <
- < Locking is loosely controlled by the preprocessor variable
- < BFD_LOCKS. I say loosely because Unix barely understands locking
- < -- at least in BSD it doesn't affect programs which don't
- < explicitly use it! That is to say it's practically useless, though
- < if everyone uses this library you'll be OK.
- <
- < From among the many and varied lock facilities available, (none of
- < which, of course, knows about any other) we use the fcntl locks,
- < because they're Posix.
- <
- < The reason that bfd_openr and bfd_fdopenr exist, yet only bfd_openw
- < exists is because of locking. When we do output, we lock the
- < filename file for output, then open a temporary file which does not
- < actually get its correct filename until closing time. This is
- < safest, but requires the asymmetry in read and write entry points.
- 51,53d33
- < Perhaps, since unix has so many different kinds of locking anyway,
- < we should use the emacs lock scheme?... */
- <
- 105,106c85,86
- < Opens the file supplied (using fopen) with the target supplied, it
- < returns a pointer to the created bfd.
- ---
- > Opens the file supplied (using @code{fopen}) with the target supplied, it
- > returns a pointer to the created BFD.
- 155c135
- < bfd_fdopenr is to bfd_fopenr much like fdopen is to fopen. It opens a bfd on
- ---
- > bfd_fdopenr is to bfd_fopenr much like fdopen is to fopen. It opens a BFD on
- 172,174d151
- < #ifdef BFD_LOCKS
- < struct flock lock, *lockp = &lock;
- < #endif
- 181,184d157
- < #ifdef BFD_LOCKS
- < lockp->l_type = F_RDLCK;
- < if (fcntl (fd, F_SETLKW, lockp) == -1) return NULL;
- < #endif
- 199,201d171
- < #ifdef BFD_LOCKS
- < nbfd->lock = (struct flock *) (nbfd + 1);
- < #endif
- 223,225d192
- < #ifdef BFD_LOCKS
- < memcpy (nbfd->lock, lockp, sizeof (struct flock))
- < #endif
- 233c200
- < Returns a pointer to a freshly-allocated bfd on success, or NULL.
- ---
- > Returns a pointer to a freshly-allocated BFD on success, or NULL.
- 238c205
- < Creates a bfd, associated with file @var{filename}, using the file
- ---
- > Creates a BFD, associated with file @var{filename}, using the file
- 279c246
- < This function closes a bfd. If the bfd was open for writing, then
- ---
- > This function closes a BFD. If the BFD was open for writing, then
- 284c251
- < All memory attatched to the bfd's obstacks is released.
- ---
- > All memory attached to the BFD's obstacks is released.
- 326,327c293,294
- < This routine creates a new bfd in the manner of bfd_openw, but without
- < opening a file. The new bfd takes the target from the target used by
- ---
- > This routine creates a new BFD in the manner of @code{bfd_openw}, but without
- > opening a file. The new BFD takes the target from the target used by
- 403c370
- < bfd.
- ---
- > BFD.
- diff -r gdb-3.98/bfd/reloc.c gdb-4.0/bfd/reloc.c
- 24c24
- < Bfd maintains relocations in much the same was as it maintains
- ---
- > BFD maintains relocations in much the same was as it maintains
- 31c31
- < symbols are maintained on a per bfd basis.
- ---
- > symbols are maintained on a per BFD basis.
- 33c33
- < All a back end has to do to fit the bfd interface is to create as many
- ---
- > All a back end has to do to fit the BFD interface is to create as many
- 47c47
- < *node typedef arelent, Relocations, reloc handling functions, Relocations
- ---
- > @node typedef arelent, Relocations, reloc handling functions, Relocations
- 87c87
- < The relocaction was performed, but may not be ok - presently generated
- ---
- > The relocation was performed, but may not be ok - presently generated
- 139c139
- < the base of the section the symbol is attatched to and the value of
- ---
- > the base of the section the symbol is attached to and the value of
- 252c252
- < describe PIC relocations, but bfd can't to that sort of thing yet.
- ---
- > describe PIC relocations, but BFD can't to that sort of thing yet.
- 266c266
- < information that bfd needs to know to tie up a back end's data.
- ---
- > information that BFD needs to know to tie up a back end's data.
- 642a643,644
- >
- >
- diff -r gdb-3.98/bfd/section.c gdb-4.0/bfd/section.c
- 23c23
- < Sections are supported in bfd in @code{section.c}.
- ---
- > Sections are supported in BFD in @code{section.c}.
- 25,26c25,26
- < The raw data contained within a bfd is maintained through the section
- < abstraction. A single bfd may have any number of sections, and keeps
- ---
- > The raw data contained within a BFD is maintained through the section
- > abstraction. A single BFD may have any number of sections, and keeps
- 40,41c40,41
- < When a bfd is opened for reading, the section structures are created
- < and attatched to the bfd.
- ---
- > When a BFD is opened for reading, the section structures are created
- > and attached to the BFD.
- 47,48c47,48
- < Sometimes a bfd will contain more than the 'natural' number of
- < sections. A back end may attatch other sections containing constructor
- ---
- > Sometimes a BFD will contain more than the 'natural' number of
- > sections. A back end may attach other sections containing constructor
- 50,51c50,51
- < the sections attatched to an already open bfd. For example, the linker
- < creates a supernumary section @code{COMMON} for each input file's bfd
- ---
- > the sections attached to an already open BFD. For example, the linker
- > creates a supernumary section @code{COMMON} for each input file's BFD
- 65,66c65,66
- < To write a new object style bfd, the various sections to be written
- < have to be created. They are attatched to the bfd in the same way as
- ---
- > To write a new object style BFD, the various sections to be written
- > have to be created. They are attached to the BFD in the same way as
- 73c73
- < The data to be written comes from input sections attatched to the
- ---
- > The data to be written comes from input sections attached to the
- 122c122
- < The next section in the list belonging to the bfd, or NULL.
- ---
- > The next section in the list belonging to the BFD, or NULL.
- 174c174
- < (eg @code{__CTOR_LIST__}), attatches the symbol to it and builds a
- ---
- > (eg @code{__CTOR_LIST__}), attaches the symbol to it and builds a
- 181a182,190
- > The section is a constuctor, and should be placed at the end of the ..
- >
- > $#define SEC_CONSTRUCTOR_TEXT 0x1100
- >
- > $#define SEC_CONSTRUCTOR_DATA 0x2100
- >
- > $#define SEC_CONSTRUCTOR_BSS 0x3100
- >
- >
- 192a202
- >
- 279c289
- < The bfd which owns the section.
- ---
- > The BFD which owns the section.
- 315,316c325,326
- < This function creates a new empty section called @var{name} and attatches it
- < to the end of the chain of sections for @var{bfd}. An attempt to
- ---
- > This function creates a new empty section called @var{name} and attaches it
- > to the end of the chain of sections for the BFD supplied. An attempt to
- 323c333
- < If output has already started for this bfd.
- ---
- > If output has already started for this BFD.
- 380c390
- < Attempts to set the attributes of the section named in the bfd
- ---
- > Attempts to set the attributes of the section named in the BFD
- 411,412c421,422
- < Calls the provided function @var{func} for each section attatched to
- < the bfd @var{abfd}, passing @var{obj} as an argument. The function
- ---
- > Calls the provided function @var{func} for each section attached to
- > the BFD @var{abfd}, passing @var{obj} as an argument. The function
- 458c468
- < Writing has started to the bfd, so setting the size is invalid
- ---
- > Writing has started to the BFD, so setting the size is invalid
- 485c495
- < Sets the contents of the section @var{section} in bfd @var{abfd} to
- ---
- > Sets the contents of the section @var{section} in BFD @var{abfd} to
- 533c543
- < This function reads data from @var{section} in bfd @var{abfd} into
- ---
- > This function reads data from @var{section} in BFD @var{abfd} into
- diff -r gdb-3.98/bfd/srec.c gdb-4.0/bfd/srec.c
- 250c250
- < (void) memcpy((PTR)location, (PTR)(section->used_by_bfd) + offset, count);
- ---
- > (void) memcpy((PTR)location, (PTR)((char *)(section->used_by_bfd) + offset), count);
- diff -r gdb-3.98/bfd/syms.c gdb-4.0/bfd/syms.c
- 23,24c23,24
- < *bfd* trys to maintain as much symbol information as it can when it
- < moves information from file to file. *bfd* passes information to
- ---
- > BFD trys to maintain as much symbol information as it can when it
- > moves information from file to file. BFD passes information to
- 32c32
- < when a *bfd* is read in. On output, the coff back end can reconstruct
- ---
- > when a BFD is read in. On output, the coff back end can reconstruct
- 34c34
- < information unique to coff which *bfd* doesn't know or understand. If a
- ---
- > information unique to coff which BFD doesn't know or understand. If a
- 38,39c38,39
- < The symbol table of a bfd is not necessarily read in until a
- < canonicalize request is made. Then the bfd back end fills in a table
- ---
- > The symbol table of a BFD is not necessarily read in until a
- > canonicalize request is made. Then the BFD back end fills in a table
- 57c57
- < There are two stages to reading a symbol table from a bfd; allocating
- ---
- > There are two stages to reading a symbol table from a BFD; allocating
- 83c83
- < the bfd, and is freed when the bfd is closed.
- ---
- > the BFD, and is freed when the BFD is closed.
- 87,89c87,89
- < Writing of a symbol table is automatic when a bfd open for writing
- < is closed. The application attatches a vector of pointers to pointers to symbols
- < to the bfd being written, and fills in the symbol count. The close and
- ---
- > Writing of a symbol table is automatic when a BFD open for writing
- > is closed. The application attaches a vector of pointers to pointers to symbols
- > to the BFD being written, and fills in the symbol count. The close and
- 92c92
- < an 'owned' symbol; one which has come from another bfd, or one which
- ---
- > an 'owned' symbol; one which has come from another BFD, or one which
- 147c147
- < A pointer to the bfd which owns the symbol. This information is
- ---
- > A pointer to the BFD which owns the symbol. This information is
- 209d208
- < $#define BSF_WARNING 0x20000
- 229c228
- < This bit is set by the target bfd part to convey this information.
- ---
- > This bit is set by the target BFD part to convey this information.
- 232a232,247
- > Signal that the symbol is the label of constructor section.
- >
- > $#define BSF_CONSTRUCTOR 0x1000000
- >
- > Signal that the symbol is a warning symbol. If the symbol is a warning
- > symbol, then the value field (I know this is tacky) will point to the
- > asymbol which when referenced will cause the warning.
- >
- > $#define BSF_WARNING 0x2000000
- >
- > Signal that the symbol is indirect. The value of the symbol is a
- > pointer to an undefined asymbol which contains the name to use
- > instead.
- >
- > $#define BSF_INDIRECT 0x4000000
- >
- 235c250
- < Aointer to the section to which this symbol is relative, or 0 if the
- ---
- > A pointer to the section to which this symbol is relative, or 0 if the
- 263,264c278,279
- < @code{asymbols} for all the symbols in the supplied bfd, including a
- < terminal NULL pointer. If there are no symbols in the bfd, then 0 is
- ---
- > @code{asymbols} for all the symbols in the supplied BFD, including a
- > terminal NULL pointer. If there are no symbols in the BFD, then 0 is
- 274,275c289,290
- < Supplied a bfd and a pointer to an uninitialized vector of pointers.
- < This reads in the symbols from the bfd, and fills in the table with
- ---
- > Supplied a BFD and a pointer to an uninitialized vector of pointers.
- > This reads in the symbols from the BFD, and fills in the table with
- 290c305
- < output bfd the symbols when closed.
- ---
- > output BFD the symbols when closed.
- 330c345
- < fprintf(file," %c%c%c%c%c%c%c",
- ---
- > fprintf(file," %c%c%c%c%c%c%c%c%c%c",
- 336a352,354
- > (type & BSF_CONSTRUCTOR) ? 'C' : ' ',
- > (type & BSF_WARNING) ? 'W' : ' ',
- > (type & BSF_INDIRECT) ? 'I' : ' ',
- 343c361
- < This function creates a new @code{asymbol} structure for the bfd, and
- ---
- > This function creates a new @code{asymbol} structure for the BFD, and
- diff -r gdb-3.98/bfd/targets.c gdb-4.0/bfd/targets.c
- 21c21
- < /* $Id: targets.c,v 1.23 1991/07/31 16:58:03 gnu Exp $ */
- ---
- > /* $Id: targets.c,v 1.25 1991/08/22 18:27:02 pesch Exp $ */
- 30c30
- < target back end. All the back end provides to the root part of bfd is
- ---
- > target back end. All the back end provides to the root part of BFD is
- 40c40
- < First a bfd is created by calling the internal routine
- ---
- > First a BFD is created by calling the internal routine
- 42c42
- < string supplied to @code{bfd_openr} and the new bfd pointer.
- ---
- > string supplied to @code{bfd_openr} and the new BFD pointer.
- 50c50
- < the target type. @xref{targets}.
- ---
- > the target type. @xref{bfd_target}.
- 60c60
- < @code{bfd_open_file}, and returns the bfd.
- ---
- > @code{bfd_open_file}, and returns the BFD.
- 62c62
- < Once the bfd has been opened and the target selected, the file format
- ---
- > Once the BFD has been opened and the target selected, the file format
- 64c64
- < the bfd with a suggested format. The routine returns @code{true} when
- ---
- > the BFD with a suggested format. The routine returns @code{true} when
- 88,89c88,89
- < vector. They are used in a number of macros further down in bfd.h, and
- < are also used when calling various routines by hand inside the bfd
- ---
- > vector. They are used in a number of macros further down in @file{bfd.h}, and
- > are also used when calling various routines by hand inside the BFD
- 96c96
- < For operations which index on the bfd format
- ---
- > For operations which index on the BFD format
- 102c102
- < "xvec" member of the struct bfd itself points here. Each module
- ---
- > "xvec" member of the struct @code{bfd} itself points here. Each module
- 160c160
- < entry points, since they don't take bfd as first arg. Certain other handlers
- ---
- > entry points, since they don't take BFD as first arg. Certain other handlers
- 414,415c414,415
- < and "target_defaulted" will be set in the bfd. This causes
- < bfd_check_format to loop over all the targets to find the one
- ---
- > and "target_defaulted" will be set in the BFD. This causes
- > @code{bfd_check_format} to loop over all the targets to find the one
- 450c450
- < names of all the valid bfd targets. Do not modify the names
- ---
- > names of all the valid BFD targets. Do not modify the names
- diff -r gdb-3.98/bfd/trad-core.c gdb-4.0/bfd/trad-core.c
- 38d37
- < #include <sys/stat.h>
- 133,134c132,137
- < core_datasec (abfd)->vma = TEXT_START_ADDR + (NBPG * u.u_tsize);
- < core_stacksec (abfd)->vma = STACK_END_ADDR - (NBPG * u.u_ssize);
- ---
- > #ifdef HOST_DATA_START_ADDR
- > core_datasec (abfd)->vma = HOST_DATA_START_ADDR;
- > #else
- > core_datasec (abfd)->vma = HOST_TEXT_START_ADDR + (NBPG * u.u_tsize);
- > #endif
- > core_stacksec (abfd)->vma = HOST_STACK_END_ADDR - (NBPG * u.u_ssize);
- Only in gdb-3.98: bfd.mips
- Only in gdb-4.0: config.sub
- diff -r gdb-3.98/configure gdb-4.0/configure
- 27c27
- < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
- ---
- > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
- 57a58
- > recursing=
- 62a64
- > commontargets=
- 70c72
- < -ansi | +ansi)
- ---
- > -ansi | +a*)
- 71a74
- > clib=clib
- 76,79d78
- < -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
- < | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
- < forcesubdirs=${arg}
- < ;;
- 85c84
- < -gas | +gas | +ga | +g)
- ---
- > -gas | +g*)
- 88c87
- < -help | +h | +help)
- ---
- > -help | +h*)
- 91c90
- < -nfp | +nfp | +nf | +n)
- ---
- > -nfp | +nf*)
- 94c93
- < -norecurse | +norecurse)
- ---
- > -norecurse | +no*)
- 97c96,99
- < -rm | +rm)
- ---
- > -recursing)
- > recursing=true
- > ;;
- > -rm | +r*)
- 103c105,108
- < -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
- ---
- > -subdirs | +f* | +su*)
- > subdirs=${arg}
- > ;;
- > -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
- 105c110
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 111c116
- < -template=* | +template=*)
- ---
- > -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
- 114c119
- < +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
- ---
- > -v | -verbose | +v*)
- 125c130
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 136d140
- < echo targets=\"${targets}\"
- 145c149
- < echo) 2>&1
- ---
- > echo) 1>&2
- 156c160
- < echo " +forcesubdirs configure in subdirectories. [in source directories]" ;
- ---
- > echo " +subdirs configure in subdirectories. [in source directories]" ;
- 167c171
- < echo "Asking for more than one \"+target\" implies \"+forcesubdirs\". Any other" ;
- ---
- > echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- 183c187
- < configdirs="libiberty bfd binutils bison gcc readline gdb ld gas gnulib ${clib} emacs prms "
- ---
- > configdirs="libiberty bfd binutils bison gcc readline ld gas gnulib ${clib} gdb make prms "
- 192c196
- < echo "Can't find template ${template}."
- ---
- > echo '***' "Can't find template ${template}." 1>&2
- 213c217
- < echo `pwd`/configure.in has no "per-host:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
- 218c222
- < echo `pwd`/configure.in has no "per-target:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
- 251c255,258
- < echo Rebuilt configure in `pwd`
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt configure in `pwd`
- > fi
- 252a260,270
- > # Now update config.sub from the template directory.
- > if echo "$template" | grep -s 'configure$' ; then
- > cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
- > # mv config.sub config.sub.old
- > mv config.sub.new config.sub
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt config.sub in `pwd`
- > fi
- > fi
- >
- 277c295
- < echo No configure script in `pwd`/$i
- ---
- > echo Warning: No configure script in `pwd`/$i
- 280c298,300
- < echo Warning: directory $i is missing.
- ---
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory $i is missing.
- > fi
- 291c311
- < echo srctrigger not set in configure.in. `pwd` not configured.
- ---
- > echo Warning: srctrigger not set in configure.in. `pwd` not configured.
- 301a322,326
- > result=`/bin/sh ./config.sub ${host}`
- > host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > host=${host_cpu}-${host_vendor}-${host_os}
- 308d332
- <
- 311,314c335,339
- < if [ -n "${verbose}" ] ; then
- < echo " target=\"${target}\""
- < fi
- <
- ---
- > result=`/bin/sh ./config.sub ${target}`
- > target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > target=${target_cpu}-${target_vendor}-${target_os}
- 325c350
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 329c354
- < if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
- ---
- > if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
- 339c364
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 342c367
- < echo "${Makefile} already exists in source directory. `pwd` not configured."
- ---
- > echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
- 349c374,385
- < if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
- ---
- > if [ ! -d ${targetsubdir} ] ; then
- > if [ -z "${commontargets}" ] ; then
- > mkdir ${targetsubdir}
- > else
- > if [ ! -d Target-independent ] ; then
- > mkdir Target-independent
- > fi
- >
- > ${symbolic_link} Target-independent ${targetsubdir}
- > fi # if target independent
- > fi # if no target dir yet
- >
- 356c392
- < echo "Configured subdirs exist. `pwd` not configured."
- ---
- > echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
- 372c408
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- 374c410
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- 377c413
- < echo \(At least ${srctrigger} is missing.\) 1>&2
- ---
- > echo '***' \(At least ${srctrigger} is missing.\) 1>&2
- 391,392c427,428
- < echo "${progname}: cannot create a link \"${link}\"," 1>&2
- < echo "since the file \"${file}\" does not exist." 1>&2
- ---
- > echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- > echo '***' "since the file \"${file}\" does not exist." 1>&2
- 402c438
- < echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- ---
- > echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- 405c441,444
- < echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- > fi
- 441c480
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 498c537,539
- < echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- ---
- > if [ -n "${verbose}" -o -z "${recursing}" ] ; then
- > echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- > fi
- 517,573d557
- < done # for each target
- <
- < # # Now build a Makefile for this host.
- < # if [ -n "${forcesubdirs}" ] ; then
- < # cd ${hostsubdir}
- < # cat > GNUmakefile << E!O!F
- < ## Makefile generated by configure for host ${host}.
- < #
- < #%:
- < # for i in ${targets} ; do \
- < # $(MAKE) -C Target-\$i \$@
- < #
- < #all clean stage1 stage2 stage3 stage4etags tags TAGS
- < #E!O!F
- < # fi
- < done # for each host
- <
- < # If there are subdirectories, then recurse.
- <
- < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
- <
- < # configdirs is not null
- < for configdir in ${configdirs} ; do
- < echo Configuring ${configdir}...
- < specifics=
- < commons=
- <
- < if [ -n "${defaulttargets}" ] ; then
- < for host in ${hosts} ; do
- < if [ -d ${configdir}.${host} ] ; then
- < newspecifics="${specifics} ${host}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} ${host}"
- < commons=${newcommons}
- < fi # if target specific
- < done # for each host
- <
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any common hosts
- <
- < if [ -n "${specifics}" ] ; then
- < for host in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${host}...
- < (cd ${configdir}.${host} ;
- < ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done # for host in specifics
- < fi # if there are any specifics
- < else
- 575,584c559,578
- < for target in ${targets} ; do
- < if [ -d ${configdir}.${target} ] ; then
- < newspecifics="${specifics} ${target}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} +target=${target}"
- < commons=${newcommons}
- < fi
- <
- < done # check for target specific dir override
- ---
- > # If there are subdirectories, then recurse.
- > if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
- > for configdir in ${configdirs} ; do
- > if [ -n "${verbose}" ] ; then
- > echo Configuring ${configdir}...
- > fi
- >
- > if [ -d ${configdir} ] ; then
- > (cd ${configdir} ;
- > ./configure -recursing ${host} +target=${target} \
- > ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- > | sed 's/^/ /'
- > else
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory \"${configdir}\" is missing.
- > fi
- > fi
- > done
- > fi
- > done # for each target
- 586,589c580,589
- < if [ -n "${verbose}" ] ; then
- < echo " "commons=\"${commons}\"
- < echo " "specifics=\"${specifics}\"
- < fi # if verbose
- ---
- > # Now build a Makefile for this host.
- > if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
- > cd ${hostsubdir}
- > cat > GNUmakefile << E!O!F
- > # Makefile generated by configure for host ${host}.
- >
- > ALL := $(shell ls -d Target-*)
- >
- > %:
- > $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
- 591,612c591,595
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < ${commons} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any commons
- <
- < if [ -n "${specifics}" ] ; then
- < for target in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${target}...
- < (cd ${configdir}.${target} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < "+target=${target}" +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done
- < fi # if any specifics
- < fi # not default targets
- < done
- ---
- > all:
- > E!O!F
- > cd ..
- > fi
- > done # for each host
- 617a601,631
- > # Revision 1.31 1991/08/23 04:50:57 rich
- > # Minor config polish.
- > #
- > # Revision 1.22 1991/08/23 03:31:43 rich
- > # Minor polish & config mapping.
- > #
- > # Revision 1.30 1991/08/22 07:15:51 rich
- > # Three part names, etc.
- > #
- > # Revision 1.29 1991/08/20 04:56:51 rich
- > # revisiting error messages
- > #
- > # Revision 1.28 1991/08/16 19:22:17 rich
- > # This is the commontargets change and should be considered
- > # experimental.
- > #
- > # Revision 1.27 1991/08/08 01:14:13 rich
- > # allow +f to stand in for +subdirs
- > #
- > # Revision 1.26 1991/08/07 19:21:32 rich
- > # +forcesubdirs -> +subdirs
- > #
- > # Revision 1.25 1991/08/07 07:05:30 rich
- > # Added make.
- > #
- > # Revision 1.24 1991/08/06 19:26:01 rich
- > # revised option parsing.
- > #
- > # Revision 1.23 1991/08/06 19:12:32 rich
- > # Host-level GNUmakefiles.
- > #
- diff -r gdb-3.98/configure.in gdb-4.0/configure.in
- 6c6
- < configdirs="libiberty bfd binutils bison gcc readline gdb ld gas gnulib ${clib} emacs prms "
- ---
- > configdirs="libiberty bfd binutils bison gcc readline ld gas gnulib ${clib} gdb make prms "
- diff -r gdb-3.98/gdb/ChangeLog gdb-4.0/gdb/ChangeLog
- 0a1,280
- > Fri Aug 23 17:14:25 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * GDB-4.0 release!
- > * Update README.
- > * Makefile.in (VERSION): Roll to 4.0.
- > (gdb.tar.Z): Make refcard.ps as well, for shipment.
- >
- > Fri Aug 23 14:07:09 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * doc/gdb.texinfo: minor rewordings, crossref to ptype from print,
- > more on printsyms.
- >
- > * doc/Makefile, Makefile.in: generate "gdb-all.texi" rather than
- > "gdb-all.texinfo"
- >
- > * doc/rdl-apps.texi: renamed from rdl-apps.texinfo
- >
- > * Makefile.in, doc/Makefile, doc/.Sanitize, doc/gdb.texinfo:
- > reflect above name change
- >
- > * WHATS.NEW: correct pointer to refcard.
- >
- > * doc/gdb.texinfo: update New Features, Installing
- >
- > * doc/gdbint.texinfo: add short description of configure +template
- >
- > Fri Aug 23 11:46:08 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * doc/gdb.texinfo: update, fix bugs in "Installing" appendix
- >
- > Fri Aug 23 01:02:00 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * Makefile.in: Add config.sub, make doc/rdl-apps.texinfo for
- > tar file, add dependencies for referenced doc files.
- >
- > Thu Aug 22 22:17:06 1991 Stu Grossman (grossman at cygint.cygnus.com)
- >
- > * coffread.c, symfile.c, stack.c: saberized.
- >
- > Thu Aug 22 16:20:27 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * doc/refcard.tex: permuted Essential Commands sec
- >
- > * doc/gdb.texinfo: new C++ chapter; revised installation appendix;
- > new doc for
- > set/show symbol-reloading
- > default set complaints 0
- > info all-registers
- > RET-repeat disabled after prompted long displays
- > processID (attach) interpretation of 2nd GDB cmdline arg
- >
- > Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com)
- >
- > * expread.y, coffread.c, dbxread.c, target.c, mem-break.c,
- > cplus-dem.c, values.c, valprint.c, symfile.c, remote.c,
- > breakpoint.c, main.c: lint.
- >
- > Thu Aug 22 02:02:26 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > Install new configuration scheme for GDB and friends.
- >
- > * config.sub: Translate ordinary names to three-part names.
- > * configure: Use three-part names internally.
- > * configure.in: Translate three-part names to filenames.
- >
- > * README, WHATS.NEW: Update for gdb-4.0.
- > * Makefile.in: Roll VERSION to 3.99.
- >
- > Wed Aug 21 18:21:09 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * infptrace.c (KERNEL_U_ADDR_BSD): Include a.out.gnu.h.
- > * i960-tdep.c, m68k-tdep.c, sparc-tdep.c, tm-i960.h,
- > tm-m68k.h, remote-nindy.c: Change ext_format_XXX structs
- > to single structures rather than arrays; when passing
- > their address, use &. This avoids trouble with bdead compilers.
- > * mcheck.c: Don't include <stdlib.h>; just declare "void abort();"
- > instead. This avoids portability headaches.
- > * mips-tdep.c (mips_do_registers_info): Only print FP regs if
- > asked to.
- > * source.c (open_source_file): Avoid ANSI const bdeath by
- > skipping declaration and then casting result value.
- > * tm-hp300bsd.h: Clarify comment.
- > * utils.c (strstr): Result is const char *; ANSI bdeath.
- > * xm-hp300bsd.h: Define HOST_BYTE_ORDER. Redefine INT_MIN,
- > since system include file defines it differently from "defs.h",
- > though the two are equivalent for our purposes.
- > * tconfig/hp300bsd: Add m68k-tdep.o.
- >
- > Tue Aug 20 16:01:11 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * tconfig/sun*4: Remove warnings about system assembler.
- >
- > Mon Aug 19 13:44:46 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * mcheck.c: Avoid warning about undeclared abort fn.
- > * tm-sparc.h (PC_ADJUST): Avoid calling error() from this;
- > it causes recursive calls to error() when used in cleanups.
- > To do so requires that we make it a function, so we do.
- > * sparc-tdep.c (sparc_pc_adjust): New implem of PC_ADJUST.
- > * utils.c (do_cleanups): Remove the current cleanup from the
- > chain *before* calling it, in case error() is called from it.
- > The result won't be pretty, but won't be an infinite loop either.
- >
- > Mon Aug 19 00:41:04 1991 Michael Tiemann (tiemann at cygint.cygnus.com)
- >
- > * dbxread.c (read_struct_type): Grok anon structs for C++.
- > (vb_name, vptr_name): Null terminate these strings.
- >
- > Fri Aug 16 08:31:03 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > Minor bug fixes from BSD Net2 gdb:
- >
- > * blockframe.c (get_prev_frame_info): If FRAME_CHAIN_COMBINE
- > returns 0, there is no previous frame.
- > * breakpoint.c (commands_command): If !from_tty, don't call
- > input_from_terminal_p().
- > * dbxread.c (record_misc_function): Speed up slightly.
- > (compare_psymbols): Ditto.
- > * infcmd.c (do_registers_info): Take a second argument to
- > determine whether to print float registers. "info registers"
- > does not do so anymore. "info all-registers" does, now.
- > * mips-tdep.c, pyr-tdep.c (xxx_do_registers_info): Take second
- > arg and ignore it.
- > * tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO): Pass second arg.
- > * inflow.c (initialize_inflow): Set tflags_ours correctly.
- >
- > Other fixes:
- >
- > * breakpoint.c (bpstat_do_actions): Use a cleanup to restore
- > executing_breakpoint_commands if we are interrupted by error.
- > * coffread.c (init_lineno): Avoid problem with zero-sized linetab
- > versus malloc/free. From: john@labtam.labtam.oz.au (John Carey).
- > * core.c (solib_add_stub, core_open): Call SOLIB_ADD inside a
- > catch_errors() so we can setup the frame regardless of whether
- > the shared libs work.
- > * ieee-float.c (double_to_ieee_extended): Get exponent from
- > right place in little-endian systems. From John Carey.
- >
- > Thu Aug 15 18:43:57 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * main.c: Remove unused terminating_signals and catch_termination().
- > (long_options): Terminate with a zero element.
- > [Bugfix from Atsuo Kawaguchi <atsuo@hark86.harl.hitachi.co.jp>.]
- > (gdb_readline): Make call-compatible with readline.
- > (init_signals): Improve comments re vfork vs. signal.
- >
- > * utils.c (prompt_for_continue): Use new gdb_readline().
- > If we prompt for continuation, we don't let CR repeat the previous
- > command, once we get back to a prompt. It's too easy to keep
- > hitting CR, expecting "--more--" prompts, and have some long
- > command start repeating on you.
- >
- > Tue Aug 13 16:17:56 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * blockframe.c (frameless_look_for_prologue): Speed up by
- > calling SKIP_PROLOGUE_FRAMELESS_P if it's defined.
- > * tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P):
- > Define two variants, one faster.
- > * sparc-tdep.c (sparc_frame_chain): Use target_read_memory
- > and return zero, rather than giving an error.
- > (setup_arbitrary_frame): Initialize the PC in the new frame.
- > (skip_prologue): Add a second arg saying whether we're just
- > checking for a frameless function or not.
- >
- > * core.c (core_open, core_close, core_xfer_memory): Move
- > section table pointers and bfd* into the target_ops.
- > (core_open): Allow errors in shared lib reading, etc.
- > (core_files_info): Describe shared library sections.
- >
- > * exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory,
- > exec_files_info, set_section_command): Move section table
- > pointers and bfd* into the target_ops.
- > (add_to_section_table): Add BFD to section table.
- >
- > * target.c (target_xfer_memory, target_info): Pass target to
- > xfer_memory and target_info functions.
- > * target.h: ''
- >
- > * gdbcore.h: Move struct section_table.
- > * target.h: New home of struct section_table.
- >
- > * solib.c (solib_add): New argument is the target_ops whose
- > section list is to be added to, if any. Reallocate the
- > sections in that target to add any that come from shared libs.
- > (throughout) so_sections renamed to sections.
- > (solib_xfer_memory): Deleted.
- > * tm-sunos.h (SOLIB_ADD): Add target argument.
- > (SOLIB_XFER_MEMORY): Delete.
- >
- > * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c,
- > remote-vx.c, remote.c, target.c, target.h: Remove add_syms vector
- > from target_ops. It's the same on all targets. Add two section
- > pointers to target_ops.
- >
- > * stack.c (find_relative_frame): Dump ancient algorithm for
- > "down", just use handy "next" pointers.
- > (frame_command): Don't error if there is no stack; let user
- > set one.
- >
- > * inflow.c (new_tty_prefork, new_tty): New prefork routine
- > modifies static state in the parent process; new_tty itself
- > runs in the child and modifies the child's file descriptors
- > to match the saved static state.
- > * infrun.c (child_create_inferior): Call new_tty_prefork,
- > fork, then new_tty.
- >
- > * infptrace.c (child_xfer_memory): Add ignored target arg.
- > * remote-eb.c (eb_xfer_inferior_memory): ''
- > * remote-nindy.c (nindy_xfer_inferior_memory): ''
- > * remote-vx.c (vx_xfer_memory): ''
- > * remote.c (remote_xfer_memory): ''. Rename from
- > remote_xfer_inferior_memory.
- >
- > * main.c (main): Only try to attach "corefile" argument if
- > it starts with a digit.
- >
- > * symfile.c (symbol_reloading): New "set/show" variable.
- > (symbol_file_add): Shorten message about symbol reading.
- > (add_symbol_file_command): Merge with add_syms_addr_command,
- > since this should work on all targets now.
- > (stop_whining): Default to zero, to shut up complaints
- > about bad symbol tables on many systems.
- > (free_named_symtabs): Just exit unless symbol_reloading.
- >
- > * xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA,
- > and add comment explaining shared library screw.
- >
- > * source.c: #if defined => #ifdef.
- >
- > Thu Aug 8 12:23:19 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * doc/gdbint.texinfo: Improve doc on porting to new OS's.
- >
- > Tue Aug 6 17:16:15 1991 Roland H. Pesch (pesch at cygint.cygnus.com)
- >
- > * doc/rdl-apps.texinfo: provide default readline-appendix finder
- > (doc/Makefile knows how to make one for local config)
- >
- > * Makefile.in: use doc/Makefile for doc targets
- >
- > * doc/Makefile: GDB documentation now has its own Makefile
- > doc/refcard.tex: renamed from "gdbrc.tex"
- > doc/.Sanitize: add Makefile; recognize renamed refcard.tex
- > doc/gdbint.texinfo: add markup in "Cleanups" chapter
- >
- >
- > Fri Aug 2 00:13:06 1991 John Gilmore (gnu at cygint.cygnus.com)
- >
- > * values.c (baseclass_addr): When reading target memory, use the
- > length of the basetype, not the upper type. We've only malloc'd
- > enough space for the basetype, leading to errors in free().
- >
- > * expprint.c (print_subexp): Print UNOP_MEMVAL of an OP_LONG that
- > ends up as a function specially, since we know the actual type of
- > the pointed-to address. This (somewhat) fixes display of
- > expressions that include misc_function_vector names. Try `cond 1
- > !strcmp("a","b")' then `i b'.
- >
- > * infrun.c: Move DO_DEFERRED_STORES from proceed() to resume().
- > The child can be proceeded from inside wait_for_inferior in
- > evaluating breakpoint conditions, and DO_DEFERRED_STORES was
- > getting skipped in that case.
- >
- > * expprint.c (print_subexp): Use filtered output, since the
- > subroutines we call use it, otherwise the output is horribly
- > mangled, since output of wrappable stuff comes out late.
- >
- > * Makefile.in: Bump VERSION to 3.98.1
- >
- > * infrun.c (child_create_process): Use execlp to find the
- > shell to exec our target program. This requires some fiddling
- > with `environ' since there is no execlpe().
- >
- > Thu Aug 1 15:35:17 1991 Roland H. Pesch (pesch at fowanton.cygnus.com)
- >
- > * Makefile.in, doc/gdbrc.tex, doc/rc-* (new files):
- > Minor rearrangement of refcard permits two new make targets--
- > gdbrc.dvi DVI output for refcard, using CM fonts
- > gdbrc.ps PostScript refcard, using PS fonts
- >
- diff -r gdb-3.98/gdb/Makefile.in gdb-4.0/gdb/Makefile.in
- 51,52c51,52
- < BISON=bison
- < BISONFLAGS=-y
- ---
- > BISON=bison -y
- > BISONFLAGS=
- 135c135
- < VERSION = 3.98
- ---
- > VERSION = 4.0
- 188,196d187
- < # Documentation source files
- < SFILES_DOCDIR = \
- < ${srcdir}/doc/gdb.texinfo \
- < ${srcdir}/doc/pretex.m4 \
- < ${srcdir}/doc/none.m4 \
- < ${srcdir}/doc/all.m4 \
- < ${srcdir}/doc/gdbinv-m.m4 \
- < ${srcdir}/doc/gdbinv-s.m4
- <
- 237,238c228,229
- < createtags munch configure configure.in \
- < ChangeLog ChangeLog-3.x \
- ---
- > createtags munch configure configure.in config.sub \
- > ChangeLog ChangeLog-3.x refcard.ps \
- 295c286
- < $(CLIBS)
- ---
- > $(CLIBS) $(LOADLIBES)
- 461a453
- > (cd doc; $(MAKE) $(MFLAGS) rdl-apps.texi)
- 462a455
- > $(MAKE) $(MFLAGS) refcard.ps
- 490c483
- < rm -f gdb.dvi rdl-apps.texinfo gdb-all*
- ---
- > cd $(srcdir)/doc; make clean
- 501a495,535
- > STAGESTUFF=${OBS} ${TSOBS} ${NTSOBS} ${ADD_FILES} init.c init.o version.c gdb
- >
- > # Copy the object files from a particular stage into a subdirectory.
- > stage1: force
- > -mkdir stage1
- > -mv -f $(STAGESTUFF) stage1
- >
- > stage2: force
- > -mkdir stage2
- > -mv -f $(STAGESTUFF) stage2
- >
- > stage3: force
- > -mkdir stage3
- > -mv -f $(STAGESTUFF) stage3
- >
- > against=stage2
- >
- > comparison: force
- > for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done
- >
- > de-stage1: force
- > - (cd stage1 ; mv -f * ..)
- > - rmdir stage1
- >
- > de-stage2: force
- > - (cd stage2 ; mv -f * ..)
- > - rmdir stage2
- >
- > de-stage3: force
- > - (cd stage3 ; mv -f * ..)
- > - rmdir stage3
- >
- > Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
- > (cd $(srcdir) ; \
- > ./configure +destdir=$(destdir) \
- > +norecurse \
- > `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
- > $(host) +target=$(target))
- >
- > force:
- >
- 502a537,540
- > # GDB QUICK REFERENCE (TeX dvi file, CM fonts)
- > refcard.dvi : $(srcdir)/doc/refcard.tex
- > ( cd $(srcdir)/doc; make refcard.dvi )
- > mv $(srcdir)/doc/refcard.dvi .
- 504,507c542,555
- < rdl-apps.texinfo: ${READLINE_DIR}/inc-readline.texinfo \
- < ${READLINE_DIR}/inc-history.texinfo
- < echo "@include ${READLINE_DIR}/inc-readline.texinfo" >rdl-apps.texinfo
- < echo "@include ${READLINE_DIR}/inc-history.texinfo" >>rdl-apps.texinfo
- ---
- > # GDB QUICK REFERENCE (PostScript output, common PS fonts)
- > refcard.ps : $(srcdir)/doc/refcard.tex
- > ( cd $(srcdir)/doc; make refcard.ps )
- > mv $(srcdir)/doc/refcard.ps .
- >
- > # GDB MANUAL: TeX dvi file
- > gdb.dvi : $(srcdir)/doc/gdb-all.texi $(srcdir)/doc/rdl-apps.texi
- > ( cd $(srcdir)/doc; make gdb.dvi )
- > mv $(srcdir)/doc/gdb.dvi .
- >
- > # GDB MANUAL: info file
- > gdb.info: $(srcdir)/doc/gdb-all.texi
- > ( cd $(srcdir)/doc; make gdb.info )
- > mv $(srcdir)/doc/gdb.info* .
- 509,527c557,560
- < # Be sure to not create a bad gdb-all.texinfo if ${M4} is missing or aborts...
- < gdb-all.texinfo: ${SFILES_DOCDIR}
- < rm -f gdb-all.texinfo foobus.texinfo
- < ( cd $(srcdir)/doc; \
- < ${M4} pretex.m4 none.m4 all.m4 gdb.texinfo ) >foobus.texinfo
- < mv foobus.texinfo gdb-all.texinfo
- <
- < gdb.dvi : gdb-all.texinfo rdl-apps.texinfo
- < TEXINPUTS=${TEXIDIR}:$$TEXINPUTS tex gdb-all.texinfo
- < texindex gdb-all.??
- < TEXINPUTS=${TEXIDIR}:$$TEXINPUTS tex gdb-all.texinfo
- < mv gdb-all.dvi gdb.dvi
- < rm -f gdb-all.?? gdb-all.???
- <
- < # We're using texinfo2, and older makeinfo's may not be able to
- < # cope with all the markup. In the meantime, we distribute the info
- < # files as formatted by the elisp texinfo2 code.
- < gdb.info: gdb-all.texinfo
- < ${MAKEINFO} gdb-all.texinfo
- ---
- > $(srcdir)/doc/gdb-all.texi:
- > (cd $(srcdir)/doc; $(MAKE) gdb-all.texi)
- > $(srcdir)/doc/rdl-apps.texi:
- > (cd $(srcdir)/doc; $(MAKE) rdl-apps.texi)
- diff -r gdb-3.98/gdb/README gdb-4.0/gdb/README
- 1,2c1,2
- < README for gdb-3.98 beta release
- < John Gilmore 31 July 91
- ---
- > README for gdb-4.0 release
- > John Gilmore 23 Aug 91
- 4,10c4
- < This is GDB, the GNU source-level debugger, presently running under
- < un*x. This is a beta test version of GDB version 4, and has not been
- < extensively tested. It surely has some bugs, both bugs that were
- < present in version 3, and new bugs. If your favorite bugfix is not
- < yet present here, I encourage you to port it into this version and
- < then send the diffs to bug-gdb@prep.ai.mit.edu.
- <
- ---
- > This is GDB, the GNU source-level debugger, presently running under un*x.
- 14c8,9
- < Unpacking and Installation
- ---
- > Unpacking and Installation -- quick overview
- > ==========================
- 18,19c13,14
- < library into the parent directory of gdb. The idea is that a variety
- < of GNU tools can share a common copy of these things.
- ---
- > library into the parent directory of the gdb source files. The idea is
- > that a variety of GNU tools can share a common copy of these things.
- 21,30c16,22
- < These generic files are packaged separately from GDB, in a tar file
- < called "bfd.ilrt-3.98.tar.Z". ("ilrt" stands for include, libiberty,
- < readline, and texinfo). Unpack that tar file in the same directory in
- < which you unpacked the gdb-3.98.tar.Z file, so that all the files in it
- < will sit next to the 'gdb' directory. The whole top-level directory
- < will look like this with `ls -F':
- <
- < Makefile.in configure* include/ texinfo/
- < README.configure configure.in libiberty/
- < bfd/ gdb/ readline/
- ---
- > These generic files are packaged together with the directory containing
- > the source code for GDB, for now. When you unpack the gdb-4.0.tar.Z
- > file, you'll get a directory called `gdb-4.0', which contains:
- >
- > Makefile.in bfd/ configure.in libiberty/
- > README config.sub* gdb/ readline/
- > README.configure configure* include/ texinfo/
- 32,33c24
- < Once you have this stuff unpacked, and your current directory is here,
- < you can type:
- ---
- > To build GDB, you can just do:
- 35c26,27
- < ./configure HOSTNAME
- ---
- > cd gdb-4.0
- > ./configure HOSTTYPE (e.g. sun4, decstation)
- 36a29
- > cp gdb/gdb /usr/local/bin/gdb (or wherever you want)
- 38c31
- < and all the libraries, as well as GDB will be configured and built.
- ---
- > This will configure and build all the libraries as well as GDB.
- 43,46c36
- < while debugging a program running on a machine of another type. You
- < configure it this way by specifying `./configure host -target=target';
- < see below.
- <
- ---
- > while debugging a program running on a machine of another type. See below.
- 48,81d37
- < More Documentation
- <
- < The GDB manual is much expanded and improved. For online browsing,
- < gdb/gdb.info is the main file, and there are gdb/gdb.info-1 through -6
- < files that can be installed into your main `info' tree. If you want a
- < printed version of the manual, you can run, from the GDB source
- < directory,
- <
- < make gdb.dvi
- <
- < to make the TeX device-independent output file. This assumes you have
- < a running TeX on your system. The source for the GDB manual is in
- < doc/gdb.texinfo (and a few other files it includes), provided with
- < this distribution. The Makefile attempts to use the texinfo.tex
- < supplied as part of the BFD-and-libraries tar file, since the manual
- < uses Texinfo-2 which is not in common use yet.
- <
- <
- < Configuration Details (extracted from gdb.texinfo)
- <
- < GDB is distributed with a `configure' script that automates the
- < process of preparing GDB for installation; you can then use `make'
- < to build the `gdb' program.
- <
- < The `configure' script that's specific to GDB is distributed in
- < the main GDB source directory. However, building GDB also requires
- < several other directories of source common to multiple GNU programs.
- < These directories (GNU libraries and includes) are distributed
- < separately, but their `configure' scripts and `Makefile's are
- < designed to work together. To ensure that GDB's `Makefile' can find
- < all the pieces, you should make a single overall directory to hold
- < the directories of source for GNU libraries and includes, and you
- < should install the GDB source directory there too. In this
- < Appendix, we refer to the directory of GNU source directories as GNUSRC.
- 83c39,111
- < At a minimum, to build GDB you need the directories
- ---
- > More Documentation
- > ==================
- >
- > The GDB 4.0 release includes an already-formatted reference card, ready
- > for printing on a PostScript printer, as `gdb-4.0/gdb/refcard.ps'. It
- > uses the most common PostScript fonts: the Times family, Courier,
- > and Symbol. If you have a PostScript printer you can print the
- > reference card by just sending `refcard.ps' to the printer.
- >
- > The release also includes the online Info version of the manual
- > already formatted: the main Info file is `gdb-4.0/gdb/gdb.info', and
- > it refers to subordinate files matching `gdb.info*' in the same
- > directory.
- >
- > If you want to make these Info files yourself from the GDB
- > manual's source, you need the GNU `makeinfo' program. Once you have
- > it, you can type
- >
- > cd gdb-4.0/gdb
- > make gdb.info
- >
- > to make the Info file.
- >
- > If you want to format and print copies of this manual, you need
- > several things:
- >
- > * TeX, the public domain typesetting program written by Donald
- > Knuth, must be installed on your system and available through
- > your execution path.
- >
- > * `gdb-4.0/texinfo': TeX macros defining the GNU Documentation
- > Format.
- >
- > * *A DVI output program.* TeX doesn't actually make marks on
- > paper; it produces output files called DVI files. If your
- > system has TeX installed, chances are it has a program for
- > printing out these files; one popular example is `dvips', which
- > can print DVI files on PostScript printers.
- >
- > Once you have these things, you can type
- >
- > cd gdb-4.0/gdb
- > make gdb.dvi
- >
- > to format the text of this manual, and print it with the usual output
- > method for TeX DVI files at your site.
- >
- > If you want to print the reference card, but don't have a PostScript
- > printer, or want to print using Computer Modern fonts instead, you can
- > still print it if you have TeX. Format the reference card by typing
- >
- > cd gdb-4.0/gdb
- > make refcard.dvi
- >
- > The GDB reference card is designed to print in landscape mode on US
- > "letter" size paper; that is, on a sheet 11 inches wide by 8.5
- > inches high. You will need to specify this form of printing as an
- > option to your DVI output program.
- >
- >
- > Installing GDB
- > ==============
- >
- > GDB comes with a `configure' script that automates the process of
- > preparing GDB for installation; you can then use `make' to build the
- > `gdb' program.
- >
- > The gdb distribution includes all the source code you need for gdb
- > in a single directory `gdb-4.0'. That directory in turn contains:
- >
- > `gdb-4.0/configure'
- > Overall script for configuring GDB and all its supporting
- > libraries.
- 85c113
- < `GNUSRC/gdb'
- ---
- > `gdb-4.0/gdb'
- 88c116
- < `GNUSRC/bfd'
- ---
- > `gdb-4.0/bfd'
- 91c119
- < `GNUSRC/include'
- ---
- > `gdb-4.0/include'
- 94c122
- < `GNUSRC/libiberty'
- ---
- > `gdb-4.0/libiberty'
- 97c125
- < `GNUSRC/readline'
- ---
- > `gdb-4.0/readline'
- 100,102c128,129
- < Each of these directories has its own `configure' script. GNUSRC has
- < an overall `configure' script, which is distributed with the GNU
- < libraries and includes.
- ---
- > Each of these directories has its own `configure' script, which are
- > used by the overall `configure' script in `gdb-4.0'.
- 104,106c131,133
- < `configure' is designed to be called recursively, so it is most
- < convenient to run `configure' from the GNUSRC directory. The
- < simplest way to configure and build GDB is the following:
- ---
- > It is most convenient to run `configure' from the `gdb-4.0'
- > directory. The simplest way to configure and build GDB is the
- > following:
- 108c135
- < cd GNUSRC
- ---
- > cd gdb-4.0
- 112,116c139,143
- < where HOST is something like `sun4' or `vax', that identifies the
- < platform where GDB will run. This builds the three libraries `bfd',
- < `readline', and `libiberty', then `gdb' itself. The configured
- < source files, and the binaries, are left in the corresponding source
- < directories.
- ---
- > where HOST is something like `sun4' or `decstation', that identifies
- > the platform where GDB will run. This builds the three libraries
- > `bfd', `readline', and `libiberty', then `gdb' itself. The
- > configured source files, and the binaries, are left in the
- > corresponding source directories.
- 124,125c151,152
- <
- < Configuration Subdirectories
- ---
- > Configuration Subdirectories
- > ============================
- 127,135c154,166
- < If you build GDB for several host or target machines, and if your
- < `make' program handles the `VPATH' feature (GNU `make' does), it is
- < most convenient instead to build the different GDB configurations in
- < subdirectories (separate from the source). `configure' does this
- < for you when you simultaneously specify several configurations; but
- < it's a good habit even for a single configuration. You can specify
- < the use of subdirectories using the `+forcesubdirs' option
- < (abbreviated `+f'). For example, you can build GDB on a Sun 4 as
- < follows:
- ---
- > If you want to run GDB versions for several host or target
- > machines, you'll need a different gdb compiled for each combination
- > of host and target. `configure' is designed to make this easy by
- > allowing you to generate each configuration in a separate
- > subdirectory. If your `make' program handles the `VPATH' feature
- > (GNU `make' does), running `make' in each of these directories then
- > builds the gdb program specified there.
- >
- > `configure' creates these subdirectories for you when you
- > simultaneously specify several configurations; but it's a good habit
- > even for a single configuration. You can specify the use of
- > subdirectories using the `+subdirs' option (abbreviated `+sub').
- > For example, you can build GDB on a Sun 4 as follows:
- 137,139c168,170
- < cd GNUSRC
- < ./configure +f sun4
- < cd Host-sun4/Target-sun4
- ---
- > cd gdb-4.0
- > ./configure +sub sun4
- > cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
- 143,152c174,187
- < libraries, it creates nested directories `Host-HOST/Target-MACHINE'.
- < This is because GDB can be configured for cross-compiling: GDB can
- < run on one machine (the host) while debugging programs that run on
- < another machine (the target). You specify cross-debugging targets
- < by giving the `+target=MACHINE' option to `configure'. Specifying
- < only hosts still gives you two levels of subdirectory for each host,
- < with the same machine-name suffix on both. On the other hand,
- < whenever you specify both hosts and targets on the same command
- < line, `configure' creates all combinations of the hosts and targets you
- < list.
- ---
- > libraries, it creates nested directories `Host-HOST/Target-TARGET'.
- > (As you see in the example, the names used for HOST and TARGET may
- > be expanded from your `configure' argument; *note Config Names::.).
- > `configure' uses these two directory levels because GDB can be
- > configured for cross-compiling: GDB can run on one machine (the
- > host) while debugging programs that run on another machine (the
- > target). You specify cross-debugging targets by giving the
- > `+target=TARGET' option to `configure'. Specifying only hosts still
- > gives you two levels of subdirectory for each host, with the same
- > configuration suffix on both; that is, if you give any number of
- > hosts but no targets, GDB will be configured for native debugging on
- > each host. On the other hand, whenever you specify both hosts and
- > targets on the same command line, `configure' creates all
- > combinations of the hosts and targets you list.
- 157c192
- < have `Host-HOST/Target-MACHINE' subdirectories, run `make' in those
- ---
- > have `Host-HOST/Target-TARGET' subdirectories, run `make' in those
- 161,162c196,197
- < recursively, so that typing `make' in GNUSRC (or in a
- < `GNUSRC/Host-HOST/Target-MACHINE' subdirectory) builds all the
- ---
- > recursively, so that typing `make' in `gdb-4.0' (or in a
- > `gdb-4.0/Host-HOST/Target-TARGET' subdirectory) builds all the
- 165c200
- < If you run `configure' from a directory (such as GNUSRC) that
- ---
- > If you run `configure' from a directory (such as `gdb-4.0') that
- 167c202
- < `configure' creates the `Host-HOST/Target-MACHINE' subdirectories in
- ---
- > `configure' creates the `Host-HOST/Target-TARGET' subdirectories in
- 170,171c205,206
- < cd GNUSRC
- < configure sun4 +target=vx960
- ---
- > cd gdb-4.0
- > configure sun4 +target=vxworks960
- 175,179c210,220
- < GNUSRC/Host-sun4/Target-vx960
- < GNUSRC/bfd/Host-sun4/Target-vx960
- < GNUSRC/gdb/Host-sun4/Target-vx960
- < GNUSRC/libiberty/Host-sun4/Target-vx960
- < GNUSRC/readline/Host-sun4/Target-vx960
- ---
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- >
- > The `Makefile' in
- >
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- >
- > will `cd' to the appropriate lower-level directories, for example:
- 181,183c222
- < The `Makefile' in `GNUSRC/Host-sun4/Target-vx960' will `cd' to the
- < appropriate lower-level directories (such as
- < `GNUSRC/bfd/Host-sun4/Target-vx960'), building each in turn.
- ---
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- 184a224,225
- > building each in turn.
- >
- 188a230,305
- > Specifying Names for Hosts and Targets
- > ======================================
- >
- > The specifications used for hosts and targets in the `configure'
- > script are based on a three-part naming scheme, but some short
- > predefined aliases are also supported. The full naming scheme
- > encodes three pieces of information in the following pattern:
- >
- > ARCHITECTURE-VENDOR-OS
- >
- > For example, you can use the alias `sun4' as a HOST argument or in
- > a `+target='TARGET option, but the full name of that configuration
- > specifies that the architecture is `sparc', the vendor is `sun', and
- > the operating system is `sunos4'.
- >
- > The following table shows all the architectures, hosts, and OS
- > prefixes that `configure' recognizes in GDB 4.0. Entries in the "OS
- > prefix"
- > column ending in a `*' may be followed by a release number.
- >
- >
- > ARCHITECTURE VENDOR OS prefix
- > ------------+-------------+-------------
- > | |
- > a29k | altos | aix*
- > alliant | aout | aout
- > arm | apollo | bout
- > c1 | att | bsd*
- > c2 | bout | coff
- > i386 | coff | ctix*
- > i860 | convergent | dynix*
- > i960 | convex | esix*
- > m68000 | dec | hpux*
- > m68k | encore | isc*
- > m88k | gould | mach*
- > mips | hp | newsos*
- > ns32k | ibm | nindy*
- > pyramid | intel | none
- > rs6000 | isi | osf*
- > rtpc | little | sco*
- > sparc | mips | sunos*
- > tahoe | motorola | sysv*
- > tron | ncr | ultrix*
- > vax | next | unos*
- > | none | v88r*
- > | sco | vms*
- > | sequent | vxworks*
- > | sgi |
- > | sony |
- > | sun |
- > | unicom |
- > | utek |
- > | wrs |
- >
- > *Warning:* Many combinations of architecture, vendor, and OS are
- > untested.
- >
- > The `configure' script accompanying GDB 4.0 does not provide any
- > query facility to list all supported host and target names or
- > aliases. `configure' calls the Bourne shell script `config.sub' to
- > map abbreviations to full names; you can read the script, if you
- > wish, or you can use it to test your guesses on abbreviations--for
- > example:
- >
- > % sh config.sub sun4
- > sparc-sun-sunos4
- > % sh config.sub sun3
- > m68k-sun-sunos4
- > % sh config.sub decstation
- > mips-dec-ultrix
- > % sh config.sub hp300bsd
- > m68k-hp-bsd
- > % sh config.sub i386v
- > i386-none-sysv
- > % sh config.sub i486v
- > *** No vendor: configuration `i486v' not recognized
- 190c307,308
- < `configure' Options
- ---
- > `configure' Options
- > ===================
- 195,196c313,314
- < configure [+destdir=DIR] [+forcesubdirs] [+norecur] [+rm]
- < [+target=MACHINE...] HOST...
- ---
- > configure [+destdir=DIR] [+subdirs] [+norecur] [+rm]
- > [+target=TARGET...] HOST...
- 199c317
- < you prefer; but options introduced with `+' may be truncated.
- ---
- > you prefer; but you may abbreviate option names if you use `+'.
- 205d322
- <
- 209c326
- < `+forcesubdirs'
- ---
- > `+subdirs'
- 212c329
- < Host-MACHINE/Target-MACHINE
- ---
- > Host-HOST/Target-TARGET
- 219c336,337
- < one `+target=MACHINE' option on the `configure' command line.
- ---
- > one
- > `+target=TARGET' option on the `configure' command line.
- 226c344
- < Remove the configuration specified by other arguments.
- ---
- > Remove the configuration that the other arguments specify.
- 228c346
- < `+target=MACHINE ...'
- ---
- > `+target=TARGET ...'
- 230,234c348,350
- < specified MACHINE. You may specify as many `+target' options
- < as you wish. To see a list of available targets, execute `ls
- < tconfig' in the GDB source directory. Without this option, GDB
- < is configured to debug programs that run on the same machine
- < (HOST) as GDB itself.
- ---
- > specified TARGET. You may specify as many `+target' options as
- > you wish. Without this option, GDB is configured to debug
- > programs that run on the same machine (HOST) as GDB itself.
- 235a352,354
- > There is no convenient way to generate a list of all available
- > targets.
- >
- 238,239c357,360
- < many host names as you wish. To see a list of available hosts,
- < execute `ls xconfig' in the GDB source directory.
- ---
- > many host names as you wish.
- >
- > There is no convenient way to generate a list of all available
- > hosts.
- 251,254c372,376
- < There is an effort to produce a GDB that works with Modula-2. I am not
- < aware of anyone who is working on getting gdb to use the syntax of any
- < other language. Pascal programs which use sets, subranges, file
- < variables, or nested functions will not currently work.
- ---
- > Andrew Beers has produced a GDB that works with Modula-2, which will
- > appear in gdb-4.1. I am not aware of anyone who is working on getting
- > gdb to use the syntax of any other language. Pascal programs which use
- > sets, subranges, file variables, or nested functions will not currently
- > work.
- 301,302c423,431
- < "mcheck.c", line 32, will produce a pointer conversion warning, which
- < can be ignored.
- ---
- > GDB can produce warnings about symbols that it does not understand. By
- > default, these warnings are disabled. You can enable them by executing
- > `set complaint 10' (which you can put in your ~/.gdbinit if you like).
- > I recommend doing this if you are working on a compiler, assembler,
- > linker, or gdb, since it will point out problems that you may be able
- > to fix. Warnings produced during symbol reading indicate some mismatch
- > between the object file and GDB's symbol reading code (in many cases,
- > it's a mismatch between the specs for the object file format, and what
- > the compiler actually outputs or the debugger actually understands).
- 304,312d432
- < When gdb reads object files produced by the Sun bundled C compiler,
- < you will often get a "bad block start address patched" message. You
- < can shut off such messages with the command `set complaint 0' (which
- < you can put in your ~/.gdbinit if you like). Messages like this
- < during symbol reading indicate some mismatch between the object file
- < and GDB's symbol reading code (in this case, it's a mismatch
- < between the specs for the object file format, and what Sun's compiler
- < actually outputs).
- <
- 454a575,577
- >
- > I strongly recommend printing out the reference card and using it.
- > Send reference-card suggestions to bug-gdb@prep.ai.mit.edu, just like bugs.
- diff -r gdb-3.98/gdb/TAGS gdb-4.0/gdb/TAGS
- 2,8c2,8
- < blockframe.c,767
- < #define INIT_FRAME_PC(206,5669
- < _initialize_blockframe 659,17662
- < block_for_pc 441,11923
- < block_innermost_frame 638,17249
- < blockvector_for_pc 387,10799
- < clear_pc_function_cache(476,12674
- ---
- > blockframe.c,768
- > #define INIT_FRAME_PC(212,5863
- > _initialize_blockframe 667,17890
- > block_for_pc 449,12151
- > block_innermost_frame 646,17477
- > blockvector_for_pc 395,11027
- > clear_pc_function_cache(484,12902
- 10,12c10,12
- < find_pc_function 457,12234
- < find_pc_misc_function 595,15874
- < find_pc_partial_function 491,13186
- ---
- > find_pc_function 465,12462
- > find_pc_misc_function 603,16102
- > find_pc_partial_function 499,13414
- 15c15
- < get_current_block 347,9767
- ---
- > get_current_block 355,9995
- 17,18c17,18
- < get_frame_block 327,9204
- < get_frame_function 372,10340
- ---
- > get_frame_block 335,9432
- > get_frame_function 380,10568
- 20,21c20,21
- < get_frame_pc 303,8624
- < get_frame_saved_regs 315,8848
- ---
- > get_frame_pc 311,8852
- > get_frame_saved_regs 323,9076
- 23c23
- < get_pc_function_start 353,9839
- ---
- > get_pc_function_start 361,10067
- 25c25
- < get_prev_frame_info 216,6019
- ---
- > get_prev_frame_info 222,6213
- 30c30
- < breakpoint.c,1997
- ---
- > breakpoint.c,2039
- 32,57c32,58
- < _initialize_breakpoint 2265,55223
- < bpstat_alloc 673,18034
- < bpstat_clear 490,13520
- < bpstat_clear_actions 556,14561
- < bpstat_copy 511,13785
- < bpstat_do_actions 575,15050
- < bpstat_num 537,14203
- < bpstat_print 606,15734
- < bpstat_should_step 877,23326
- < bpstat_stop_status 709,19011
- < break_command 1351,34686
- < break_command_1 1224,31574
- < breakpoint_1 891,23665
- < breakpoint_auto_delete 1885,46958
- < breakpoint_clear_ignore_counts 2064,51244
- < breakpoint_cond_eval 664,17840
- < breakpoint_here_p 475,13244
- < breakpoint_re_set 2015,50056
- < breakpoint_re_set_one 1965,48932
- < breakpoints_info 992,26203
- < catch_breakpoint 1462,37181
- < catch_command 1794,44784
- < catch_command_1 1671,41884
- < check_duplicates 1067,27810
- < clear_command 1802,44905
- < clear_momentary_breakpoints 1148,29714
- ---
- > _initialize_breakpoint 2278,55563
- > bpstat_alloc 686,18373
- > bpstat_clear 490,13532
- > bpstat_clear_actions 556,14573
- > bpstat_copy 511,13797
- > bpstat_do_actions 584,15264
- > bpstat_num 537,14215
- > bpstat_print 619,16073
- > bpstat_should_step 890,23665
- > bpstat_stop_status 722,19350
- > break_command 1364,35025
- > break_command_1 1237,31913
- > breakpoint_1 904,24004
- > breakpoint_auto_delete 1898,47297
- > breakpoint_clear_ignore_counts 2077,51583
- > breakpoint_cond_eval 677,18179
- > breakpoint_here_p 475,13256
- > breakpoint_re_set 2028,50395
- > breakpoint_re_set_one 1978,49271
- > breakpoints_info 1005,26542
- > catch_breakpoint 1475,37520
- > catch_command 1807,45123
- > catch_command_1 1684,42223
- > check_duplicates 1080,28149
- > cleanup_executing_breakpoints 573,14888
- > clear_command 1815,45244
- > clear_momentary_breakpoints 1161,30053
- 60,78c61,79
- < decode_line_spec_1 2238,54530
- < delete_breakpoint 1896,47239
- < delete_catch 1786,44647
- < delete_catch_breakpoint 1473,37282
- < delete_command 1939,48261
- < describe_other_breakpoints 1021,26684
- < disable_breakpoint 2173,53342
- < disable_catch 1770,44266
- < disable_catch_breakpoint 1468,37238
- < disable_command 2186,53586
- < enable_breakpoint 2131,52430
- < enable_catch 1778,44456
- < enable_catch_breakpoint 1478,37325
- < enable_command 2160,53096
- < enable_delete_breakpoint 2217,54143
- < enable_delete_command 2227,54295
- < enable_once_breakpoint 2199,53844
- < enable_once_command 2209,53996
- < get_catch_sals 1554,38817
- ---
- > decode_line_spec_1 2251,54870
- > delete_breakpoint 1909,47578
- > delete_catch 1799,44986
- > delete_catch_breakpoint 1486,37621
- > delete_command 1952,48600
- > describe_other_breakpoints 1034,27023
- > disable_breakpoint 2186,53681
- > disable_catch 1783,44605
- > disable_catch_breakpoint 1481,37577
- > disable_command 2199,53925
- > enable_breakpoint 2144,52769
- > enable_catch 1791,44795
- > enable_catch_breakpoint 1491,37664
- > enable_command 2173,53435
- > enable_delete_breakpoint 2230,54483
- > enable_delete_command 2240,54635
- > enable_once_breakpoint 2212,54183
- > enable_once_command 2222,54336
- > get_catch_sals 1567,39156
- 80,88c81,89
- < ignore_command 2075,51429
- < insert_breakpoints 387,11300
- < map_breakpoint_numbers 2100,51926
- < map_catch_names 1494,37641
- < mark_breakpoints_out 462,12933
- < mention 1161,29945
- < read_memory_nobpt 303,8970
- < remove_breakpoints 433,12286
- < set_breakpoint 1189,30747
- ---
- > ignore_command 2088,51768
- > insert_breakpoints 387,11312
- > map_breakpoint_numbers 2113,52265
- > map_catch_names 1507,37980
- > mark_breakpoints_out 462,12945
- > mention 1174,30284
- > read_memory_nobpt 303,8982
- > remove_breakpoints 433,12298
- > set_breakpoint 1202,31086
- 90,97c91,98
- < set_default_breakpoint 1050,27340
- < set_ignore_count 2035,50595
- < set_momentary_breakpoint 1136,29465
- < set_raw_breakpoint 1095,28597
- < tbreak_command 1359,34806
- < until_break_command 1407,35805
- < watch_command 1368,34942
- < watchpoints_info 1006,26420
- ---
- > set_default_breakpoint 1063,27679
- > set_ignore_count 2048,50934
- > set_momentary_breakpoint 1149,29804
- > set_raw_breakpoint 1108,28936
- > tbreak_command 1372,35145
- > until_break_command 1420,36144
- > watch_command 1381,35281
- > watchpoints_info 1019,26759
- 126,143c127,144
- < core.c,432
- < _initialize_core(457,11633
- < close_exec_file 205,5205
- < core_close 61,1674
- < core_detach 164,4335
- < core_file_command 178,4607
- < core_files_info 256,6326
- < core_open 77,1936
- < core_xfer_memory 376,9273
- < get_core_registers 399,9927
- < get_exec_file 244,6090
- < memory_error 269,6623
- < read_memory 293,7217
- < read_memory_integer 321,7823
- < reopen_exec_file 214,5300
- < specify_exec_file_hook 194,4971
- < validate_files 228,5601
- < write_memory 306,7514
- ---
- > core.c,429
- > _initialize_core(444,11056
- > close_exec_file 220,5509
- > core_close 59,1616
- > core_detach 179,4639
- > core_file_command 193,4911
- > core_files_info 269,6523
- > core_open 92,2234
- > get_core_registers 385,9336
- > get_exec_file 257,6287
- > memory_error 290,7052
- > read_memory 314,7646
- > read_memory_integer 342,8252
- > reopen_exec_file 229,5604
- > solib_add_stub 81,2043
- > specify_exec_file_hook 209,5275
- > validate_files 241,5798
- > write_memory 327,7943
- 190,193c191,195
- < infcmd.c,779
- < #define DO_REGISTERS_INFO(798,19579
- < _initialize_infcmd 977,24379
- < attach_command 924,23148
- ---
- > infcmd.c,828
- > #define DO_REGISTERS_INFO(801,19655
- > _initialize_infcmd 999,24807
- > all_registers_info 915,22703
- > attach_command 946,23576
- 195,199c197,201
- < detach_command 944,23757
- < static void do_registers_info 799,19639
- < environment_info 640,15819
- < finish_command 525,12863
- < float_info 954,23944
- ---
- > detach_command 966,24185
- > do_registers_info 803,19735
- > environment_info 640,15832
- > finish_command 525,12876
- > float_info 976,24372
- 203,207c205,210
- < path_command 755,18443
- < path_info 744,18188
- < program_info 595,14727
- < read_pc 771,18816
- < registers_info 876,21898
- ---
- > nofp_registers_info 922,22803
- > path_command 755,18456
- > path_info 744,18201
- > program_info 595,14740
- > read_pc 771,18829
- > registers_info 883,22092
- 209,210c212,213
- < run_stack_dummy 427,10362
- < set_environment_command 660,16221
- ---
- > run_stack_dummy 427,10375
- > set_environment_command 660,16234
- 216,220c219,223
- < unset_command 968,24176
- < unset_environment_command 720,17636
- < until_command 509,12503
- < until_next_command 463,11526
- < write_pc 777,18904
- ---
- > unset_command 990,24604
- > unset_environment_command 720,17649
- > until_command 509,12516
- > until_next_command 463,11539
- > write_pc 777,18917
- 222,224c225,227
- < inflow.c,367
- < _initialize_inflow 456,11421
- < child_mourn_inferior 410,10150
- ---
- > inflow.c,393
- > _initialize_inflow 464,11703
- > child_mourn_inferior 418,10432
- 226,228c229,232
- < generic_mourn_inferior 383,9484
- < kill_command 359,8836
- < new_tty 314,7914
- ---
- > generic_mourn_inferior 391,9766
- > kill_command 367,9118
- > new_tty 326,8307
- > new_tty_prefork 317,8113
- 235c239
- < try_writing_regs_command 423,10512
- ---
- > try_writing_regs_command 431,10794
- 237,258c241,262
- < infrun.c,591
- < #define IN_SIGTRAMP(171,6068
- < _initialize_infrun 1698,51198
- < child_attach 666,19933
- < child_create_inferior 457,14010
- < clear_proceed_status 309,9994
- < handle_command 1459,43966
- < init_wait_for_inferior 647,19458
- < insert_step_breakpoint 1420,42913
- < normal_stop 1335,40545
- < proceed 339,10929
- < remove_step_breakpoint 1428,43114
- < restore_inferior_status 1637,49022
- < resume 286,9478
- < resume_cleanups 271,8978
- < save_inferior_status 1601,47498
- < sig_print_header 1436,43316
- < sig_print_info 1442,43430
- < signals_info 1563,46665
- < start_remote 634,19229
- < wait_for_inferior 722,21201
- < writing_pc 429,13283
- ---
- > infrun.c,592
- > #define IN_SIGTRAMP(168,5981
- > _initialize_infrun 1716,51919
- > child_attach 684,20654
- > child_create_inferior 454,13923
- > clear_proceed_status 311,10023
- > handle_command 1477,44687
- > init_wait_for_inferior 665,20179
- > insert_step_breakpoint 1438,43634
- > normal_stop 1353,41266
- > proceed 341,10958
- > remove_step_breakpoint 1446,43835
- > restore_inferior_status 1655,49743
- > resume 283,9391
- > resume_cleanups 268,8891
- > save_inferior_status 1619,48219
- > sig_print_header 1454,44037
- > sig_print_info 1460,44151
- > signals_info 1581,47386
- > start_remote 652,19950
- > wait_for_inferior 740,21922
- > writing_pc 426,13196
- 260c264
- < main.c,1371
- ---
- > main.c,1341
- 262,266c266,270
- < add_com 1439,35934
- < add_com_alias 1451,36176
- < add_info 1393,34949
- < add_info_alias 1404,35142
- < batch_mode 1970,47865
- ---
- > add_com 1373,34238
- > add_com_alias 1385,34480
- > add_info 1327,33253
- > add_info_alias 1338,33446
- > batch_mode 1904,46169
- 268,273c272,276
- < catch_termination 1068,26744
- < cd_command 1660,40627
- < command_line_input 1131,28669
- < command_loop 747,18201
- < command_loop_marker 739,18049
- < define_command 1498,36999
- ---
- > cd_command 1594,38931
- > command_line_input 1065,26976
- > command_loop 748,18240
- > command_loop_marker 740,18088
- > define_command 1432,35303
- 275,290c278,293
- < do_nothing 1084,27203
- < document_command 1540,38104
- < dont_repeat 776,18983
- < dump_me_command 1784,42917
- < echo_command 1755,42470
- < error_no_arg 1461,36389
- < execute_command 685,16739
- < float_handler 1961,47593
- < free_command_lines 1375,34640
- < gdb_readline 796,19615
- < help_command 1469,36498
- < info_command 1417,35485
- < init_signals 1089,27234
- < initialize_cmd_lists 1977,47947
- < initialize_main 1993,48446
- < input_from_terminal_p 1638,40150
- ---
- > do_nothing 1024,25650
- > document_command 1474,36408
- > dont_repeat 777,19022
- > dump_me_command 1718,41221
- > echo_command 1689,40774
- > error_no_arg 1395,34693
- > execute_command 686,16778
- > float_handler 1895,45897
- > free_command_lines 1309,32944
- > gdb_readline 794,19548
- > help_command 1403,34802
- > info_command 1351,33789
- > init_signals 1029,25681
- > initialize_cmd_lists 1911,46251
- > initialize_main 1927,46750
- > input_from_terminal_p 1572,38454
- 292,296c295,299
- < noop_completer 871,21393
- < print_gdb_version 1585,39022
- < print_prompt 1611,39637
- < pwd_command 1645,40248
- < quit_command 1618,39715
- ---
- > noop_completer 859,21061
- > print_gdb_version 1519,37326
- > print_prompt 1545,37941
- > pwd_command 1579,38552
- > quit_command 1552,38019
- 298c301
- < read_command_lines 1320,33264
- ---
- > read_command_lines 1254,31568
- 300,306c303,309
- < set_history 1916,46592
- < set_history_size_command 1903,46347
- < set_verbose 1938,47087
- < show_command 1429,35769
- < show_commands 1800,43282
- < show_history 1926,46830
- < show_version 1599,39438
- ---
- > set_history 1850,44896
- > set_history_size_command 1837,44651
- > set_verbose 1872,45391
- > show_command 1363,34073
- > show_commands 1734,41586
- > show_history 1860,45134
- > show_version 1533,37742
- 309,312c312,315
- < source_command 1727,41970
- < stop_sig 1016,25574
- < symbol_completion_function 886,21985
- < validate_comname 1477,36632
- ---
- > source_command 1661,40274
- > stop_sig 1004,25242
- > symbol_completion_function 874,21653
- > validate_comname 1411,34936
- 356,386c359,389
- < remote.c,750
- < _initialize_remote 851,19532
- < dcache_alloc 755,17022
- < dcache_fetch 772,17390
- < dcache_flush 703,16008
- < dcache_hit 720,16300
- < dcache_init 813,18275
- < dcache_poke 789,17754
- < dcache_value 741,16685
- < fromhex 233,5646
- < getpkt 614,13508
- < putpkt 568,12616
- < readchar 531,11985
- < remote_close 141,3464
- < remote_detach 218,5362
- < remote_fetch_registers 303,6985
- < remote_fetch_word 373,8512
- < remote_files_info 504,11432
- < remote_open 153,3682
- < remote_prepare_to_store 334,7757
- < remote_read_bytes 444,10091
- < remote_resume 260,6049
- < remote_send 553,12362
- < remote_start(133,3374
- < remote_store_registers 344,7992
- < remote_store_word 394,8896
- < remote_timer 121,3231
- < remote_wait 283,6497
- < remote_write_bytes 409,9279
- < remote_xfer_inferior_memory(477,10867
- < tohex 248,5903
- ---
- > remote.c,741
- > _initialize_remote 853,19556
- > dcache_alloc 756,17046
- > dcache_fetch 773,17414
- > dcache_flush 704,16032
- > dcache_hit 721,16324
- > dcache_init 814,18299
- > dcache_poke 790,17778
- > dcache_value 742,16709
- > fromhex 232,5608
- > getpkt 615,13532
- > putpkt 569,12640
- > readchar 532,12009
- > remote_close 140,3426
- > remote_detach 217,5324
- > remote_fetch_registers 302,6947
- > remote_fetch_word 372,8474
- > remote_files_info 505,11456
- > remote_open 152,3644
- > remote_prepare_to_store 333,7719
- > remote_read_bytes 443,10053
- > remote_resume 259,6011
- > remote_send 554,12386
- > remote_start(132,3336
- > remote_store_registers 343,7954
- > remote_store_word 393,8858
- > remote_timer 120,3193
- > remote_wait 282,6459
- > remote_write_bytes 408,9241
- > remote_xfer_memory(477,10844
- > tohex 247,5865
- 389,409c392,412
- < _initialize_source 1138,28185
- < ambiguous_line_spec 750,18338
- < directory_command 183,4579
- < find_source_lines 530,12883
- < forget_cached_source_info 154,4093
- < forward_search_command 988,24699
- < get_filename_and_charpos 620,15109
- < identify_source_line 651,15915
- < init_source_path 174,4380
- < line_info 927,23066
- < list_command 762,18569
- < mod_path 207,5064
- < open_source_file 484,11615
- < openp 394,9409
- < print_source_lines 675,16571
- < reverse_search_command 1060,26353
- < select_source_symtab 75,2195
- < show_directories 143,3812
- < source_charpos_line 594,14469
- < source_info 350,8001
- < source_line_charpos 580,14173
- ---
- > _initialize_source 1143,28562
- > ambiguous_line_spec 755,18715
- > directory_command 186,4813
- > find_source_lines 535,13267
- > forget_cached_source_info 157,4327
- > forward_search_command 993,25076
- > get_filename_and_charpos 625,15486
- > identify_source_line 656,16292
- > init_source_path 177,4614
- > line_info 932,23443
- > list_command 767,18946
- > mod_path 210,5298
- > open_source_file 487,11849
- > openp 397,9643
- > print_source_lines 680,16948
- > reverse_search_command 1065,26730
- > select_source_symtab 78,2429
- > show_directories 146,4046
- > source_charpos_line 599,14846
- > source_info 353,8235
- > source_line_charpos 585,14550
- 411,413c414,416
- < stack.c,817
- < _initialize_stack 1091,28477
- < args_info 833,21611
- ---
- > stack.c,818
- > _initialize_stack 1108,28919
- > args_info 831,21516
- 416,420c419,423
- < catch_info 771,20093
- < down_command 1027,26824
- < down_silently_command 1009,26350
- < find_relative_frame 891,23269
- < frame_command 943,24854
- ---
- > catch_info 769,19998
- > down_command 1044,27266
- > down_silently_command 1026,26792
- > find_relative_frame 889,23174
- > frame_command 955,25121
- 422,423c425,426
- < get_selected_block 871,22591
- < locals_info 761,19903
- ---
- > get_selected_block 869,22496
- > locals_info 759,19808
- 425c428
- < print_block_frame_labels 599,15796
- ---
- > print_block_frame_labels 598,15742
- 427c430
- < print_frame_arg_vars 779,20234
- ---
- > print_frame_arg_vars 777,20139
- 429,430c432,433
- < print_frame_label_vars 684,17817
- < print_frame_local_vars 646,16986
- ---
- > print_frame_label_vars 682,17729
- > print_frame_local_vars 644,16898
- 434,436c437,439
- < record_selected_frame 859,22247
- < return_command 1036,27028
- < select_frame 844,21868
- ---
- > record_selected_frame 857,22152
- > return_command 1053,27470
- > select_frame 842,21773
- 438,439c441,442
- < up_command 996,26019
- < up_silently_command 976,25519
- ---
- > up_command 1013,26461
- > up_silently_command 993,25961
- 509,537c512,539
- < symfile.c,792
- < _initialize_symfile 932,25083
- < add_symbol_file_command 608,15482
- < add_syms_addr_command 623,15808
- < add_symtab_fns 560,14364
- < cashier_psymtab 801,21143
- < clear_complaints 742,18955
- < clear_symtab_users_once 779,20495
- < compare_misc_functions 267,6945
- < compare_symbols 114,3353
- < complain 716,18361
- < condense_misc_bunches 298,7636
- < discard_misc_bunches 281,7265
- < fill_in_vptr_fieldno 683,17484
- < free_named_symtabs 853,22812
- < init_misc_bunches 236,6178
- < load_command 598,15306
- < obconcat 200,5367
- < obsavestring 178,4867
- < prim_record_misc_function 244,6283
- < psymtab_to_symtab 355,9054
- < reread_symbols 657,16651
- < sort_all_symtab_syms 163,4547
- < sort_block_syms 135,3974
- < sort_symtab_syms 146,4223
- < symbol_file_add 384,9860
- < symbol_file_command 479,12367
- < symfile_init 573,14688
- < symfile_open 521,13522
- ---
- > symfile.c,760
- > _initialize_symfile 935,25356
- > add_symbol_file_command 617,15775
- > add_symtab_fns 567,14564
- > cashier_psymtab 800,21311
- > clear_complaints 741,19123
- > clear_symtab_users_once 778,20663
- > compare_misc_functions 276,7184
- > compare_symbols 123,3592
- > complain 715,18529
- > condense_misc_bunches 307,7875
- > discard_misc_bunches 290,7504
- > fill_in_vptr_fieldno 681,17561
- > free_named_symtabs 852,22980
- > init_misc_bunches 245,6417
- > load_command 605,15506
- > obconcat 209,5606
- > obsavestring 187,5106
- > prim_record_misc_function 253,6522
- > psymtab_to_symtab 364,9293
- > reread_symbols 655,16728
- > sort_all_symtab_syms 172,4786
- > sort_block_syms 144,4213
- > sort_symtab_syms 155,4462
- > symbol_file_add 391,10064
- > symbol_file_command 486,12567
- > symfile_init 580,14888
- > symfile_open 528,13722
- 541,546c543,548
- < _initialize_utils 1224,28296
- < bcmp 1143,27168
- < bcopy 1137,27095
- < bzero 1148,27232
- < concat 464,10388
- < discard_cleanups 147,3947
- ---
- > _initialize_utils 1231,28503
- > bcmp 1148,27325
- > bcopy 1142,27252
- > bzero 1153,27389
- > concat 464,10425
- > discard_cleanups 147,3984
- 548,562c550,564
- < error 197,4998
- < fatal 219,5441
- < fatal_dump_core 238,5798
- < fprint_symbol 1118,26737
- < void fprintf_filtered 987,24134
- < fprintf_filtered 1030,25176
- < fputs_demangled 891,21393
- < fputs_filtered 784,18550
- < free_current_contents 185,4704
- < getwd 1155,27295
- < index 1162,27358
- < init_malloc 263,6372
- < init_malloc 273,6497
- < insque 1190,27717
- < lines_to_list 693,16157
- ---
- > error 197,5035
- > fatal 219,5478
- > fatal_dump_core 238,5835
- > fprint_symbol 1123,26894
- > void fprintf_filtered 992,24291
- > fprintf_filtered 1035,25333
- > fputs_demangled 896,21550
- > fputs_filtered 789,18707
- > free_current_contents 185,4741
- > getwd 1160,27452
- > index 1167,27515
- > init_malloc 263,6409
- > init_malloc 273,6534
- > insque 1195,27874
- > lines_to_list 693,16194
- 564,588c566,590
- < malloc_botch 267,6430
- < myread 417,9429
- < n_spaces 1083,26155
- < parse_escape 548,12570
- < perror_with_name 325,7460
- < print_spaces 476,10630
- < print_spaces_filtered 1106,26512
- < print_sys_errmsg 356,8208
- < printchar 618,13730
- < printf_filtered 1049,25529
- < printf_filtered 1063,25738
- < prompt_for_continue 719,16787
- < puts_filtered 1074,25965
- < query 491,11008
- < quit 381,8725
- < reinitialize_more_filter 730,17022
- < remque 1201,27881
- < request_quit 400,9148
- < restore_cleanups 170,4426
- < rindex 1170,27440
- < save_cleanups 160,4248
- < savestring 443,9931
- < set_width_command 703,16403
- < strsave 457,10299
- < strstr 1211,28094
- ---
- > malloc_botch 267,6467
- > myread 417,9466
- > n_spaces 1088,26312
- > parse_escape 548,12607
- > perror_with_name 325,7497
- > print_spaces 476,10667
- > print_spaces_filtered 1111,26669
- > print_sys_errmsg 356,8245
- > printchar 618,13767
- > printf_filtered 1054,25686
- > printf_filtered 1068,25895
- > prompt_for_continue 719,16824
- > puts_filtered 1079,26122
- > query 491,11045
- > quit 381,8762
- > reinitialize_more_filter 735,17179
- > remque 1206,28038
- > request_quit 400,9185
- > restore_cleanups 170,4463
- > rindex 1175,27597
- > save_cleanups 160,4285
- > savestring 443,9968
- > set_width_command 703,16440
- > strsave 457,10336
- > strstr 1217,28277
- 590c592
- < vfprintf_filtered 984,24068
- ---
- > vfprintf_filtered 989,24225
- 592,594c594,596
- < wrap_here(750,17704
- < xmalloc 287,6686
- < xrealloc 310,7110
- ---
- > wrap_here(755,17861
- > xmalloc 287,6723
- > xrealloc 310,7147
- 645c647
- < _initialize_valprint 1882,50635
- ---
- > _initialize_valprint 1882,50638
- 652,663c654,665
- < set_input_radix 1793,48822
- < set_output_radix 1808,49120
- < set_print 1863,50285
- < set_radix 1841,49834
- < show_print 1874,50513
- < type_print 1228,33631
- < type_print_1 1240,33862
- < type_print_base 1543,42019
- < type_print_derivation_info 1308,35796
- < type_print_method_args 1270,34804
- < type_print_varspec_prefix 1355,37032
- < type_print_varspec_suffix 1438,39157
- ---
- > set_input_radix 1793,48825
- > set_output_radix 1808,49123
- > set_print 1863,50288
- > set_radix 1841,49837
- > show_print 1874,50516
- > type_print 1228,33634
- > type_print_1 1240,33865
- > type_print_base 1543,42022
- > type_print_derivation_info 1308,35799
- > type_print_method_args 1270,34807
- > type_print_varspec_prefix 1355,37035
- > type_print_varspec_suffix 1438,39160
- 669,670c671,672
- < #define USE_STRUCT_CONVENTION(1511,42536
- < _initialize_values 1583,44620
- ---
- > #define USE_STRUCT_CONVENTION(1510,42510
- > _initialize_values 1582,44594
- 674,675c676,677
- < baseclass_addr 1142,31691
- < check_stub_method 1235,34237
- ---
- > baseclass_addr 1141,31656
- > check_stub_method 1234,34206
- 681c683
- < modify_field 1366,37974
- ---
- > modify_field 1365,37943
- 686c688
- < set_return_value 1553,43886
- ---
- > set_return_value 1552,43860
- 690c692
- < unpack_field_as_long 1336,37070
- ---
- > unpack_field_as_long 1335,37039
- 693c695
- < using_struct_return 1528,43249
- ---
- > using_struct_return 1527,43223
- 697c699
- < value_being_returned 1479,41564
- ---
- > value_being_returned 1478,41538
- 702,704c704,706
- < value_from_double 1437,40090
- < value_from_long 1401,39040
- < value_from_vtable_info 1055,29181
- ---
- > value_from_double 1436,40064
- > value_from_long 1400,39014
- > value_from_vtable_info 1054,29146
- 709c711
- < value_static_field 1080,29958
- ---
- > value_static_field 1079,29923
- 719c721
- < _initialize_expread 1982,46790
- ---
- > _initialize_expread 1983,46805
- 722c724
- < copy_name 1641,38969
- ---
- > copy_name 1642,38984
- 740c742
- < length_of_subexp 1675,39873
- ---
- > length_of_subexp 1676,39888
- 742,743c744,745
- < parse_c_1 1882,44577
- < parse_c_expression 1928,45734
- ---
- > parse_c_1 1883,44592
- > parse_c_expression 1929,45749
- 745,750c747,752
- < pop_type 1965,46534
- < pop_type_int 1973,46652
- < prefixify_expression 1655,39305
- < prefixify_subexp 1761,41505
- < push_type 1939,45943
- < push_type_int 1952,46237
- ---
- > pop_type 1966,46549
- > pop_type_int 1974,46667
- > prefixify_expression 1656,39320
- > prefixify_subexp 1762,41520
- > push_type 1940,45958
- > push_type_int 1953,46252
- 763c765
- < yyerror 1631,38795
- ---
- > yyerror 1632,38810
- 777,780c779,782
- < do_arg 744,15466
- < do_args 787,16294
- < do_type 419,9975
- < get_count 387,9459
- ---
- > do_arg 741,15424
- > do_args 784,16252
- > do_type 416,9933
- > get_count 384,9417
- 783,795c785,797
- < munge_function_name 852,17564
- < remember_type 758,15716
- < string_append 970,19856
- < string_appendn 997,20238
- < string_appends 984,20058
- < string_clear 956,19719
- < string_delete 938,19505
- < string_empty 963,19783
- < string_init 949,19640
- < string_need 915,19128
- < string_prepend 1010,20412
- < string_prependn 1031,20715
- < string_prepends 1021,20574
- ---
- > munge_function_name 849,17522
- > remember_type 755,15674
- > string_append 967,19814
- > string_appendn 994,20196
- > string_appends 981,20016
- > string_clear 953,19677
- > string_delete 935,19463
- > string_empty 960,19741
- > string_init 946,19598
- > string_need 912,19086
- > string_prepend 1007,20370
- > string_prependn 1028,20673
- > string_prepends 1018,20532
- 804,825c806,827
- < _initialize_targets 525,13755
- < add_target 93,2823
- < cleanup_target 259,6653
- < default_terminal_info 171,4621
- < ignore 132,4046
- < kill_or_be_killed 213,5643
- < maybe_kill_then_attach 237,6161
- < maybe_kill_then_create_inferior 246,6320
- < nomemory 138,4087
- < noprocess 155,4369
- < nosymbol 162,4471
- < pop_target 385,10357
- < push_target 325,9053
- < target_command 83,2626
- < target_info 472,12570
- < target_preopen 505,13250
- < target_read_memory 404,11052
- < target_write_memory 413,11215
- < target_xfer_memory 422,11380
- < tcomplain 148,4252
- < unpush_target 362,9957
- < upstack_create_inferior 185,5010
- ---
- > _initialize_targets 520,13581
- > add_target 92,2778
- > cleanup_target 254,6493
- > default_terminal_info 170,4576
- > ignore 131,4001
- > kill_or_be_killed 212,5598
- > maybe_kill_then_attach 232,6001
- > maybe_kill_then_create_inferior 241,6160
- > nomemory 137,4042
- > noprocess 154,4324
- > nosymbol 161,4426
- > pop_target 379,10159
- > push_target 319,8855
- > target_command 82,2581
- > target_info 467,12395
- > target_preopen 500,13076
- > target_read_memory 398,10854
- > target_write_memory 407,11017
- > target_xfer_memory 416,11182
- > tcomplain 147,4207
- > unpush_target 356,9759
- > upstack_create_inferior 184,4965
- 828,835c830,837
- < _initialize_inftarg 192,5445
- < child_detach 82,2704
- < child_files_info 153,4319
- < child_open 161,4482
- < child_prepare_to_store 116,3572
- < child_wait 52,1882
- < host_convert_from_virtual 142,4101
- < host_convert_to_virtual 129,3835
- ---
- > _initialize_inftarg 193,5429
- > child_detach 82,2679
- > child_files_info 153,4294
- > child_open 161,4457
- > child_prepare_to_store 116,3547
- > child_wait 52,1857
- > host_convert_from_virtual 142,4076
- > host_convert_to_virtual 129,3810
- 838,842c840,844
- < #define ADD_PSYMBOL_TO_LIST(1628,48859
- < ADD_PSYMBOL_TO_PLIST(1589,47645
- < #define IGNORE_SYMBOL(170,5889
- < #define MAX_OF_TYPE(5061,147094
- < #define MIN_OF_TYPE(5062,147149
- ---
- > #define ADD_PSYMBOL_TO_LIST(1632,48954
- > ADD_PSYMBOL_TO_PLIST(1593,47740
- > #define IGNORE_SYMBOL(170,5899
- > #define MAX_OF_TYPE(5073,147353
- > #define MIN_OF_TYPE(5074,147408
- 844,845c846,847
- < #define STAB_REG_TO_REGNUM(181,6212
- < #define SWAP_SYMBOL(1467,44121
- ---
- > #define STAB_REG_TO_REGNUM(181,6222
- > #define SWAP_SYMBOL(1471,44216
- 847,904c849,906
- < _initialize_dbxread 5391,156816
- < add_bincl_to_list 1535,46303
- < add_new_header_file 567,18171
- < add_old_header_file 538,17153
- < add_symbol_to_list 731,22482
- < add_this_object_header_file 518,16526
- < add_undefined_type 3676,110385
- < cleanup_undefined_types 3692,110828
- < compare_psymbols 2402,71653
- < copy_pending 5344,155498
- < dbx_alloc_type 678,21369
- < dbx_create_type 660,20811
- < dbx_lookup_type 606,19277
- < dbx_new_init 1335,39705
- < dbx_psymtab_to_symtab 2584,76984
- < dbx_symfile_init 1370,40890
- < dbx_symfile_read 1268,37621
- < define_symbol 3276,97683
- < end_psymtab 2426,72367
- < end_symtab 1101,32814
- < error_type 3761,112788
- < explicit_lookup_type 710,21950
- < fill_symbuf 1455,43816
- < find_corresponding_bincl_psymtab 1559,47002
- < finish_block 805,24197
- < fix_common_block 5366,156052
- < free_and_init_header_files 485,15580
- < free_bincl_list 1576,47388
- < hashname 2945,87809
- < init_bincl_list 1524,46050
- < init_psymbol_list 1500,45178
- < make_blockvector 910,27195
- < new_object_header_files 507,16254
- < next_symbol_text 1487,44858
- < pop_subfile 1217,36278
- < process_one_symbol 2969,88164
- < process_symbol_pair 2761,81977
- < psymtab_to_symtab_1 2516,75219
- < push_subfile 1203,35928
- < read_args 5302,154443
- < read_array_type 4786,140477
- < read_dbx_symtab 1642,49532
- < read_enum_type 4865,142490
- < read_huge_number 4961,145431
- < read_number 5262,153669
- < read_ofile_symtab 2795,83026
- < read_range_type 5065,147223
- < read_struct_type 4146,122783
- < read_type 3790,113491
- < read_type_number 3251,97032
- < really_free_pendings 761,23254
- < record_line 967,28994
- < record_misc_function 1234,36542
- < scan_file_globals 2706,80568
- < start_psymtab 2358,70534
- < start_subfile 1037,30863
- < start_symtab 998,29781
- < virtual_context 4104,121669
- ---
- > _initialize_dbxread 5403,157075
- > add_bincl_to_list 1539,46398
- > add_new_header_file 567,18181
- > add_old_header_file 538,17163
- > add_symbol_to_list 731,22492
- > add_this_object_header_file 518,16536
- > add_undefined_type 3685,110571
- > cleanup_undefined_types 3701,111014
- > compare_psymbols 2406,71748
- > copy_pending 5356,155757
- > dbx_alloc_type 678,21379
- > dbx_create_type 660,20821
- > dbx_lookup_type 606,19287
- > dbx_new_init 1339,39800
- > dbx_psymtab_to_symtab 2591,77140
- > dbx_symfile_init 1374,40985
- > dbx_symfile_read 1272,37716
- > define_symbol 3285,97869
- > end_psymtab 2433,72523
- > end_symtab 1101,32824
- > error_type 3770,112974
- > explicit_lookup_type 710,21960
- > fill_symbuf 1459,43911
- > find_corresponding_bincl_psymtab 1563,47097
- > finish_block 805,24207
- > fix_common_block 5378,156311
- > free_and_init_header_files 485,15590
- > free_bincl_list 1580,47483
- > hashname 2953,87980
- > init_bincl_list 1528,46145
- > init_psymbol_list 1504,45273
- > make_blockvector 910,27205
- > new_object_header_files 507,16264
- > next_symbol_text 1491,44953
- > pop_subfile 1217,36288
- > process_one_symbol 2977,88335
- > process_symbol_pair 2769,82148
- > psymtab_to_symtab_1 2523,75375
- > push_subfile 1203,35938
- > read_args 5314,154702
- > read_array_type 4798,140732
- > read_dbx_symtab 1646,49627
- > read_enum_type 4877,142745
- > read_huge_number 4973,145690
- > read_number 5274,153928
- > read_ofile_symtab 2803,83197
- > read_range_type 5077,147482
- > read_struct_type 4155,122969
- > read_type 3799,113677
- > read_type_number 3259,97203
- > really_free_pendings 761,23264
- > record_line 967,29004
- > record_misc_function 1234,36552
- > scan_file_globals 2713,80724
- > start_psymtab 2362,70629
- > start_subfile 1037,30873
- > start_symtab 998,29791
- > virtual_context 4113,121855
- 907c909
- < #define L_LNNO32(1335,36793
- ---
- > #define L_LNNO32(1340,36841
- 909c911
- < _initialize_coffread 2034,55089
- ---
- > _initialize_coffread 2040,55154
- 913c915
- < coff_new_init 767,22130
- ---
- > coff_new_init 768,22145
- 915c917
- < coff_symfile_read 693,19947
- ---
- > coff_symfile_read 694,19962
- 917,919c919,921
- < decode_base_type 1722,47091
- < decode_function_type 1707,46746
- < decode_type 1639,45108
- ---
- > decode_base_type 1727,47141
- > decode_function_type 1712,46796
- > decode_type 1644,45156
- 921c923
- < enter_linenos 1339,36849
- ---
- > enter_linenos 1344,36897
- 924,929c926,931
- < free_stringtab 1240,34700
- < getfilename 1268,35200
- < getsymname 1248,34796
- < hashname 1373,37777
- < init_lineno 1312,36379
- < init_stringtab 1199,33735
- ---
- > free_stringtab 1241,34715
- > getfilename 1269,35215
- > getsymname 1249,34811
- > hashname 1378,37825
- > init_lineno 1313,36394
- > init_stringtab 1200,33750
- 931,938c933,940
- < patch_opaque_types 1421,38937
- < patch_type 1394,38057
- < process_coff_symbol 1485,40682
- < read_coff_symtab 791,22827
- < read_enum_type 1933,52205
- < read_file_hdr 1098,31393
- < read_one_sym 1161,32604
- < read_struct_type 1837,49710
- ---
- > patch_opaque_types 1426,38985
- > patch_type 1399,38105
- > process_coff_symbol 1490,40730
- > read_coff_symtab 792,22842
- > read_enum_type 1939,52270
- > read_file_hdr 1099,31408
- > read_one_sym 1162,32619
- > read_struct_type 1842,49760
- 946c948
- < ieee_test 131,4258
- ---
- > ieee_test 131,4252
- 1143,1154c1145,1155
- < exec.c,286
- < _initialize_exec(386,10682
- < add_to_section_table 174,4693
- < build_section_table 193,5254
- < exec_close 66,1700
- < exec_file_command 76,1820
- < exec_files_info 313,8637
- < exec_xfer_memory 286,7853
- < file_command 158,4269
- < else if 303,8370
- < set_section_command 326,8946
- < xfer_memory 232,6474
- ---
- > exec.c,259
- > _initialize_exec(373,10360
- > add_to_section_table 175,4664
- > build_section_table 195,5252
- > exec_close 61,1534
- > exec_file_command 76,1779
- > exec_files_info 300,8296
- > file_command 159,4240
- > else if 290,8029
- > set_section_command 313,8613
- > xfer_memory 234,6473
- 1247,1265c1248,1266
- < #define BITMASK(116,3808
- < #define EXTRACT_FIELD(117,3870
- < #define MEMA_OFFSET(123,4163
- < #define MEM_SRCDST(122,4109
- < #define NEXT_PROLOGUE_INSN(131,4523
- < #define REG_SRC1(119,3948
- < #define REG_SRC2(120,4001
- < #define REG_SRCDST(121,4055
- < _initialize_i960_tdep 643,21423
- < check_host(46,1537
- < examine_prologue 135,4657
- < frame_args_address 394,13658
- < frame_find_saved_regs 324,11123
- < frame_struct_result_address 425,14534
- < leafproc_return 464,15941
- < pop_frame 535,18033
- < print_fault(590,19872
- < saved_pc_after_call 519,17713
- < skip_prologue 301,10401
- ---
- > #define BITMASK(116,3802
- > #define EXTRACT_FIELD(117,3864
- > #define MEMA_OFFSET(123,4157
- > #define MEM_SRCDST(122,4103
- > #define NEXT_PROLOGUE_INSN(131,4517
- > #define REG_SRC1(119,3942
- > #define REG_SRC2(120,3995
- > #define REG_SRCDST(121,4049
- > _initialize_i960_tdep 643,21417
- > check_host(46,1531
- > examine_prologue 135,4651
- > frame_args_address 394,13652
- > frame_find_saved_regs 324,11117
- > frame_struct_result_address 425,14528
- > leafproc_return 464,15935
- > pop_frame 535,18027
- > print_fault(590,19866
- > saved_pc_after_call 519,17707
- > skip_prologue 301,10395
- 1268,1270c1269,1271
- < #define CANNOT_STORE_REGISTER(249,6018
- < _initialize_kernel_u_addr 166,3922
- < void _initialize_kernel_u_addr 194,4676
- ---
- > #define CANNOT_STORE_REGISTER(250,6065
- > _initialize_kernel_u_addr 167,3969
- > void _initialize_kernel_u_addr 195,4723
- 1274c1275
- < child_xfer_memory 327,8189
- ---
- > child_xfer_memory 328,8236
- 1276,1277c1277,1278
- < fetch_inferior_registers 237,5752
- < fetch_register 215,5202
- ---
- > fetch_inferior_registers 238,5799
- > fetch_register 216,5249
- 1280,1281c1281,1282
- < #define offsetof(203,4854
- < store_inferior_registers 257,6241
- ---
- > #define offsetof(204,4901
- > store_inferior_registers 258,6288
- 1338c1339
- < mips-tdep.c,937
- ---
- > mips-tdep.c,930
- 1357,1358c1358,1359
- < isa_NAN(624,20643
- < mips_do_registers_info(583,19706
- ---
- > isa_NAN(631,20824
- > mips_do_registers_info 585,19756
- 1360c1361
- < mips_frame_num_args(604,20197
- ---
- > mips_frame_num_args(611,20378
- 1363c1364
- < static mips_print_register(539,18424
- ---
- > mips_print_register(540,18431
- 1366c1367
- < CORE_ADDR mips_skip_prologue(647,21266
- ---
- > CORE_ADDR mips_skip_prologue(654,21447
- 1464,1466c1465,1467
- < CORE_ADDR frame_args_addr 107,3452
- < CORE_ADDR frame_locals_address 82,2608
- < pyr_do_registers_info 51,1798
- ---
- > CORE_ADDR frame_args_addr 109,3509
- > CORE_ADDR frame_locals_address 84,2665
- > pyr_do_registers_info 52,1831
- 1475,1585c1476,1586
- < _initialize_remote_eb 936,23188
- < int damn_b 289,6803
- < eb_close 405,9526
- < eb_detach 433,10254
- < eb_fetch_register 697,16844
- < eb_fetch_registers 603,14276
- < eb_files_info 805,19776
- < eb_open 307,7212
- < eb_prepare_to_store 785,19380
- < eb_read_inferior_memory(839,20594
- < eb_resume 444,10485
- < eb_start 240,5918
- < eb_store_register 756,18450
- < eb_store_registers 717,17242
- < eb_timer 214,5225
- < eb_wait 485,11395
- < eb_write_inferior_memory 814,20023
- < eb_xfer_inferior_memory 792,19499
- < expect 98,2749
- < expect_prompt 135,3639
- < get_hex_byte 174,4550
- < get_hex_digit 148,4023
- < get_hex_regs 187,4801
- < get_reg_name 577,13414
- < readchar 67,2130
- <
- < remote-nindy.c,750
- < _initialize_nindy 961,25625
- < cleanup(183,5926
- < dcache_alloc 713,19261
- < dcache_fetch 735,19735
- < dcache_flush 657,17984
- < dcache_hit 674,18281
- < dcache_init 789,21076
- < dcache_poke 756,20269
- < dcache_value 696,18696
- < nindy_before_main_loop 895,23713
- < nindy_close 198,6217
- < nindy_create_inferior 803,21355
- < nindy_detach 251,7408
- < nindy_fetch_registers(478,12834
- < nindy_fetch_word 550,15164
- < nindy_files_info 261,7554
- < nindy_kill 867,22862
- < nindy_load(279,8236
- < nindy_mourn_inferior 881,23191
- < nindy_open 215,6594
- < nindy_prepare_to_store(508,13767
- < nindy_resume 340,9462
- < nindy_store_registers(514,13837
- < nindy_store_word 560,15337
- < nindy_wait(363,10000
- < nindy_xfer_inferior_memory(576,15829
- < non_dle(323,9192
- < reset_command(853,22583
- < restore_tty(165,5648
- <
- < remote-vx.c,1115
- < _initialize_vx 1785,48527
- < add_symbol_stub 1350,37272
- < find_white_space 616,17508
- < net_break 139,4306
- < net_check_for_fp 1158,32018
- < net_clnt_call 1695,45950
- < net_connect 1174,32408
- < net_get_boot_file 1097,30373
- < net_get_symbols 1113,30809
- < net_load 96,2931
- < net_ptrace_clnt_call 1074,29737
- < net_quit 661,18344
- < net_step 1041,29059
- < net_wait 643,17942
- < parse_args 561,16152
- < skip_white_space 603,17219
- < sleep_ms 1213,33589
- < symbol_stub 1341,37143
- < vx_attach 1465,40440
- < vx_call_function 193,5688
- < vx_call_function 396,11746
- < vx_close 1715,46335
- < vx_convert_from_virtual 1666,45360
- < vx_convert_to_virtual 1631,44635
- < vx_create_inferior 495,14423
- < vx_detach 1538,42309
- < vx_files_info 950,26899
- < vx_insert_breakpoint 168,5014
- < vx_kill 1576,43226
- < vx_load_command 1009,28228
- < vx_lookup_symbol 1132,31374
- < vx_mourn_inferior 999,28035
- < vx_open 1367,37702
- < vx_prepare_to_store 796,22312
- < vx_proc_close 1611,44098
- < vx_proc_open 1730,46626
- < vx_read_register 683,18769
- < vx_remove_breakpoint 177,5164
- < vx_resume 969,27272
- < vx_run_files_info 958,27060
- < vx_wait 1241,34472
- < vx_write_register 807,22586
- < vx_xfer_memory 902,25591
- <
- < solib.c,225
- < _initialize_solib(339,9501
- < clear_solib(322,9195
- < struct so_list *find_solib(124,3793
- < void solib_add(244,7228
- < solib_address(305,8842
- < static void solib_info(282,8235
- < solib_map_sections(62,1722
- < solib_xfer_memory 224,6781
- ---
- > _initialize_remote_eb 937,23214
- > int damn_b 288,6765
- > eb_close 404,9488
- > eb_detach 432,10216
- > eb_fetch_register 696,16806
- > eb_fetch_registers 602,14238
- > eb_files_info 805,19793
- > eb_open 306,7174
- > eb_prepare_to_store 784,19342
- > eb_read_inferior_memory(839,20611
- > eb_resume 443,10447
- > eb_start 239,5880
- > eb_store_register 755,18412
- > eb_store_registers 716,17204
- > eb_timer 213,5187
- > eb_wait 484,11357
- > eb_write_inferior_memory 814,20040
- > eb_xfer_inferior_memory 791,19461
- > expect 97,2711
- > expect_prompt 134,3601
- > get_hex_byte 173,4512
- > get_hex_digit 147,3985
- > get_hex_regs 186,4763
- > get_reg_name 576,13376
- > readchar 66,2092
- >
- > remote-nindy.c,749
- > _initialize_nindy 962,25652
- > cleanup(182,5886
- > dcache_alloc 713,19279
- > dcache_fetch 735,19753
- > dcache_flush 657,18002
- > dcache_hit 674,18299
- > dcache_init 789,21094
- > dcache_poke 756,20287
- > dcache_value 696,18714
- > nindy_before_main_loop 895,23731
- > nindy_close 197,6177
- > nindy_create_inferior 803,21373
- > nindy_detach 250,7368
- > nindy_fetch_registers(477,12794
- > nindy_fetch_word 549,15126
- > nindy_files_info 260,7514
- > nindy_kill 867,22880
- > nindy_load(278,8196
- > nindy_mourn_inferior 881,23209
- > nindy_open 214,6554
- > nindy_prepare_to_store(507,13728
- > nindy_resume 339,9422
- > nindy_store_registers(513,13798
- > nindy_store_word 559,15299
- > nindy_wait(362,9960
- > nindy_xfer_inferior_memory(575,15791
- > non_dle(322,9152
- > reset_command(853,22601
- > restore_tty(164,5608
- >
- > remote-vx.c,1116
- > _initialize_vx 1788,48579
- > add_symbol_stub 1351,37306
- > find_white_space 615,17470
- > net_break 138,4268
- > net_check_for_fp 1159,32052
- > net_clnt_call 1696,45984
- > net_connect 1175,32442
- > net_get_boot_file 1098,30407
- > net_get_symbols 1114,30843
- > net_load 95,2893
- > net_ptrace_clnt_call 1075,29771
- > net_quit 660,18306
- > net_step 1042,29093
- > net_wait 642,17904
- > parse_args 560,16114
- > skip_white_space 602,17181
- > sleep_ms 1214,33623
- > symbol_stub 1342,37177
- > vx_attach 1466,40474
- > vx_call_function 192,5650
- > vx_call_function 395,11708
- > vx_close 1716,46369
- > vx_convert_from_virtual 1667,45394
- > vx_convert_to_virtual 1632,44669
- > vx_create_inferior 494,14385
- > vx_detach 1539,42343
- > vx_files_info 951,26933
- > vx_insert_breakpoint 167,4976
- > vx_kill 1577,43260
- > vx_load_command 1010,28262
- > vx_lookup_symbol 1133,31408
- > vx_mourn_inferior 1000,28069
- > vx_open 1368,37736
- > vx_prepare_to_store 795,22274
- > vx_proc_close 1612,44132
- > vx_proc_open 1731,46660
- > vx_read_register 682,18731
- > vx_remove_breakpoint 176,5126
- > vx_resume 970,27306
- > vx_run_files_info 959,27094
- > vx_wait 1242,34506
- > vx_write_register 806,22548
- > vx_xfer_memory 901,25553
- >
- > solib.c,226
- > _initialize_solib(359,10174
- > clear_solib(337,9776
- > struct so_list *find_solib(124,3775
- > sharedlibrary_command 353,10071
- > solib_add 221,6607
- > solib_address(320,9423
- > static void solib_info(297,8816
- > solib_map_sections(62,1716
- 1592,1597c1593,1598
- < sparc-tdep.c,346
- < do_restore_insn 271,7927
- < do_save_insn 227,6645
- < frame_saved_pc 151,4131
- < isannulled 380,11032
- < setup_arbitrary_frame 180,5050
- ---
- > sparc-tdep.c,373
- > do_restore_insn 275,8025
- > do_save_insn 231,6743
- > frame_saved_pc 155,4196
- > isannulled 391,11434
- > setup_arbitrary_frame 184,5115
- 1599,1600c1600,1601
- < skip_prologue 292,8524
- < sparc_extract_struct_value_address 137,3857
- ---
- > skip_prologue 302,8867
- > sparc_extract_struct_value_address 141,3922
- 1602,1604c1603,1606
- < sparc_frame_find_saved_regs 443,12937
- < sparc_pop_frame 556,17200
- < sparc_push_dummy_frame 519,15774
- ---
- > sparc_frame_find_saved_regs 454,13339
- > sparc_pc_adjust(622,19484
- > sparc_pop_frame 567,17602
- > sparc_push_dummy_frame 530,16176
- 2021,2047c2023,2048
- < target.h,999
- < #define target_add_syms(315,11963
- < #define target_attach(166,6434
- < #define target_call_function(325,12370
- < #define target_close(161,6310
- < #define target_convert_from_virtual(222,8639
- < #define target_convert_to_virtual(216,8423
- < #define target_create_inferior(345,13356
- < #define target_detach(176,6911
- < #define target_fetch_registers(194,7567
- < #define target_files_info(243,9379
- < #define target_insert_breakpoint(252,9726
- < #define target_kill(301,11394
- < #define target_load(308,11658
- < #define target_lookup_symbol(336,12953
- < #define target_mourn_inferior(350,13532
- < #define target_open(150,5783
- < #define target_prepare_to_store(210,8244
- < #define target_remove_breakpoint(260,10047
- < #define target_resume(183,7196
- < #define target_store_registers(201,7863
- < #define target_terminal_inferior(272,10453
- < #define target_terminal_info(296,11240
- < #define target_terminal_init(266,10258
- < #define target_terminal_ours(290,11079
- < #define target_terminal_ours_for_output(283,10844
- < #define target_wait(189,7428
- ---
- > target.h,964
- > #define target_attach(171,6557
- > #define target_call_function(323,12194
- > #define target_close(166,6433
- > #define target_convert_from_virtual(227,8762
- > #define target_convert_to_virtual(221,8546
- > #define target_create_inferior(343,13180
- > #define target_detach(181,7034
- > #define target_fetch_registers(199,7690
- > #define target_files_info(248,9502
- > #define target_insert_breakpoint(257,9863
- > #define target_kill(306,11531
- > #define target_load(313,11795
- > #define target_lookup_symbol(334,12777
- > #define target_mourn_inferior(348,13356
- > #define target_open(155,5906
- > #define target_prepare_to_store(215,8367
- > #define target_remove_breakpoint(265,10184
- > #define target_resume(188,7319
- > #define target_store_registers(206,7986
- > #define target_terminal_inferior(277,10590
- > #define target_terminal_info(301,11377
- > #define target_terminal_init(271,10395
- > #define target_terminal_ours(295,11216
- > #define target_terminal_ours_for_output(288,10981
- > #define target_wait(194,7551
- 2062,2073c2063,2074
- < #define EXTRACT_RETURN_VALUE(272,9337
- < #define EXTRACT_STRUCT_VALUE_ADDRESS(289,9932
- < #define FRAMELESS_FUNCTION_INVOCATION(322,11177
- < #define FRAME_ARGS_ADDRESS(327,11358
- < #define FRAME_CHAIN(307,10633
- < #define FRAME_CHAIN_COMBINE(315,10885
- < #define FRAME_CHAIN_VALID(312,10770
- < #define FRAME_FIND_SAVED_REGS(352,12236
- < #define FRAME_FIND_SAVED_REGS(420,15910
- < #define FRAME_LOCALS_ADDRESS(329,11404
- < #define FRAME_NUM_ARGS(337,11692
- < #define FRAME_SAVED_PC(325,11281
- ---
- > #define EXTRACT_RETURN_VALUE(272,9356
- > #define EXTRACT_STRUCT_VALUE_ADDRESS(289,9951
- > #define FRAMELESS_FUNCTION_INVOCATION(322,11196
- > #define FRAME_ARGS_ADDRESS(327,11377
- > #define FRAME_CHAIN(307,10652
- > #define FRAME_CHAIN_COMBINE(315,10904
- > #define FRAME_CHAIN_VALID(312,10789
- > #define FRAME_FIND_SAVED_REGS(352,12255
- > #define FRAME_FIND_SAVED_REGS(420,15929
- > #define FRAME_LOCALS_ADDRESS(329,11423
- > #define FRAME_NUM_ARGS(337,11711
- > #define FRAME_SAVED_PC(325,11300
- 2076c2077
- < #define REGISTER_BYTE(190,6450
- ---
- > #define REGISTER_BYTE(190,6469
- 2078,2082c2079,2083
- < #define REGISTER_CONVERTIBLE(213,7068
- < #define REGISTER_CONVERT_TO_RAW(168,5610
- < #define REGISTER_CONVERT_TO_RAW(223,7380
- < #define REGISTER_CONVERT_TO_VIRTUAL(157,5285
- < #define REGISTER_CONVERT_TO_VIRTUAL(218,7202
- ---
- > #define REGISTER_CONVERTIBLE(213,7087
- > #define REGISTER_CONVERT_TO_RAW(168,5618
- > #define REGISTER_CONVERT_TO_RAW(223,7399
- > #define REGISTER_CONVERT_TO_VIRTUAL(157,5282
- > #define REGISTER_CONVERT_TO_VIRTUAL(218,7221
- 2084c2085
- < #define REGISTER_RAW_SIZE(195,6615
- ---
- > #define REGISTER_RAW_SIZE(195,6634
- 2086,2088c2087,2089
- < #define REGISTER_VIRTUAL_SIZE(200,6770
- < #define REGISTER_VIRTUAL_TYPE(181,6104
- < #define REGISTER_VIRTUAL_TYPE(228,7545
- ---
- > #define REGISTER_VIRTUAL_SIZE(200,6789
- > #define REGISTER_VIRTUAL_TYPE(181,6123
- > #define REGISTER_VIRTUAL_TYPE(228,7564
- 2091,2092c2092,2093
- < #define STORE_RETURN_VALUE(281,9622
- < #define STORE_STRUCT_RETURN(263,8972
- ---
- > #define STORE_RETURN_VALUE(281,9641
- > #define STORE_STRUCT_RETURN(263,8991
- 2097,2108c2098,2109
- < #define EXTRACT_RETURN_VALUE(231,8433
- < #define EXTRACT_STRUCT_VALUE_ADDRESS(244,9030
- < #define FRAMELESS_FUNCTION_INVOCATION(310,11678
- < #define FRAME_ARGS_ADDRESS(326,12335
- < #define FRAME_ARGS_ADDRESS_CORRECT(334,12695
- < #define FRAME_CHAIN(293,10992
- < #define FRAME_CHAIN_COMBINE(296,11082
- < #define FRAME_FIND_SAVED_REGS(349,13140
- < #define FRAME_LOCALS_ADDRESS(336,12764
- < #define FRAME_NUM_ARGS(341,12913
- < #define FRAME_SAVED_PC(319,12034
- < #define INIT_EXTRA_FRAME_INFO(288,10800
- ---
- > #define EXTRACT_RETURN_VALUE(231,8451
- > #define EXTRACT_STRUCT_VALUE_ADDRESS(244,9048
- > #define FRAMELESS_FUNCTION_INVOCATION(310,11696
- > #define FRAME_ARGS_ADDRESS(326,12353
- > #define FRAME_ARGS_ADDRESS_CORRECT(334,12713
- > #define FRAME_CHAIN(293,11010
- > #define FRAME_CHAIN_COMBINE(296,11100
- > #define FRAME_FIND_SAVED_REGS(349,13158
- > #define FRAME_LOCALS_ADDRESS(336,12782
- > #define FRAME_NUM_ARGS(341,12931
- > #define FRAME_SAVED_PC(319,12052
- > #define INIT_EXTRA_FRAME_INFO(288,10818
- 2110c2111
- < #define PRINT_RANDOM_SIGNAL(357,13413
- ---
- > #define PRINT_RANDOM_SIGNAL(357,13431
- 2113c2114
- < #define REGISTER_CONVERT_TO_RAW(189,6793
- ---
- > #define REGISTER_CONVERT_TO_RAW(189,6802
- 2118c2119
- < #define REGISTER_VIRTUAL_TYPE(203,7169
- ---
- > #define REGISTER_VIRTUAL_TYPE(203,7187
- 2121,2123c2122,2124
- < #define STORE_RETURN_VALUE(252,9349
- < #define STORE_STRUCT_RETURN(258,9605
- < #define USE_STRUCT_CONVENTION(222,8056
- ---
- > #define STORE_RETURN_VALUE(252,9367
- > #define STORE_STRUCT_RETURN(258,9623
- > #define USE_STRUCT_CONVENTION(222,8074
- 2125,2126c2126,2127
- < tm-sunos.h,102
- < #define DISABLE_UNSETTABLE_BREAK(27,1101
- ---
- > tm-sunos.h,68
- > #define DISABLE_UNSETTABLE_BREAK(26,1010
- 2128d2128
- < #define SOLIB_XFER_MEMORY(23,910
- 2342,2343c2342,2343
- < #define FIX_CALL_DUMMY(136,5059
- < #define IN_SIGTRAMP(43,1579
- ---
- > #define FIX_CALL_DUMMY(136,5065
- > #define IN_SIGTRAMP(43,1585
- 2414,2426c2414,2426
- < #define EXTRACT_RETURN_VALUE(211,7069
- < #define EXTRACT_STRUCT_VALUE_ADDRESS(224,7708
- < #define FIX_CALL_DUMMY(333,11686
- < #define FRAMELESS_FUNCTION_INVOCATION(258,8917
- < #define FRAME_ARGS_ADDRESS(264,9069
- < #define FRAME_CHAIN(243,8367
- < #define FRAME_CHAIN_COMBINE(248,8556
- < #define FRAME_CHAIN_VALID(245,8439
- < #define FRAME_FIND_SAVED_REGS(283,9747
- < #define FRAME_LOCALS_ADDRESS(266,9113
- < #define FRAME_NUM_ARGS(271,9250
- < #define FRAME_SAVED_PC(262,9009
- < #define INIT_EXTRA_FRAME_INFO(363,12968
- ---
- > #define EXTRACT_RETURN_VALUE(211,7077
- > #define EXTRACT_STRUCT_VALUE_ADDRESS(224,7716
- > #define FIX_CALL_DUMMY(333,11694
- > #define FRAMELESS_FUNCTION_INVOCATION(258,8925
- > #define FRAME_ARGS_ADDRESS(264,9077
- > #define FRAME_CHAIN(243,8375
- > #define FRAME_CHAIN_COMBINE(248,8564
- > #define FRAME_CHAIN_VALID(245,8447
- > #define FRAME_FIND_SAVED_REGS(283,9755
- > #define FRAME_LOCALS_ADDRESS(266,9121
- > #define FRAME_NUM_ARGS(271,9258
- > #define FRAME_SAVED_PC(262,9017
- > #define INIT_EXTRA_FRAME_INFO(363,12976
- 2429,2438c2429,2438
- < #define MK_OP(305,10496
- < #define PUSH_ARGUMENTS(294,10120
- < #define REGISTER_BYTE(160,5546
- < #define REGISTER_CONVERTIBLE(183,6153
- < #define REGISTER_CONVERT_TO_RAW(194,6468
- < #define REGISTER_CONVERT_TO_VIRTUAL(188,6287
- < #define REGISTER_RAW_SIZE(165,5705
- < #define REGISTER_U_ADDR(139,4709
- < #define REGISTER_VIRTUAL_SIZE(170,5855
- < #define REGISTER_VIRTUAL_TYPE(200,6636
- ---
- > #define MK_OP(305,10504
- > #define PUSH_ARGUMENTS(294,10128
- > #define REGISTER_BYTE(160,5554
- > #define REGISTER_CONVERTIBLE(183,6161
- > #define REGISTER_CONVERT_TO_RAW(194,6476
- > #define REGISTER_CONVERT_TO_VIRTUAL(188,6295
- > #define REGISTER_RAW_SIZE(165,5713
- > #define REGISTER_U_ADDR(139,4717
- > #define REGISTER_VIRTUAL_SIZE(170,5863
- > #define REGISTER_VIRTUAL_TYPE(200,6644
- 2441,2443c2441,2443
- < #define STORE_RETURN_VALUE(217,7340
- < #define STORE_STRUCT_RETURN(204,6822
- < #define USE_STRUCT_CONVENTION(227,7827
- ---
- > #define STORE_RETURN_VALUE(217,7348
- > #define STORE_STRUCT_RETURN(204,6830
- > #define USE_STRUCT_CONVENTION(227,7835
- 2517,2530c2517,2530
- < #define EXTRACT_RETURN_VALUE(270,9967
- < #define EXTRACT_STRUCT_VALUE_ADDRESS(284,10569
- < #define FIX_CALL_DUMMY(524,19830
- < #define FRAME_ARGS_ADDRESS(361,13333
- < #define FRAME_ARGS_ADDRESS(370,13539
- < #define FRAME_CHAIN(324,11896
- < #define FRAME_CHAIN_COMBINE(332,12143
- < #define FRAME_CHAIN_VALID(327,11983
- < #define FRAME_FIND_SAVED_REGS(410,15141
- < #define FRAME_LOCALS_ADDRESS(364,13389
- < #define FRAME_LOCALS_ADDRESS(373,13633
- < #define FRAME_NUM_ARGS(381,13800
- < #define FRAME_SAVED_PC(349,12790
- < #define INIT_EXTRA_FRAME_INFO(296,10853
- ---
- > #define EXTRACT_RETURN_VALUE(270,9975
- > #define EXTRACT_STRUCT_VALUE_ADDRESS(284,10577
- > #define FIX_CALL_DUMMY(524,19838
- > #define FRAME_ARGS_ADDRESS(361,13341
- > #define FRAME_ARGS_ADDRESS(370,13547
- > #define FRAME_CHAIN(324,11904
- > #define FRAME_CHAIN_COMBINE(332,12151
- > #define FRAME_CHAIN_VALID(327,11991
- > #define FRAME_FIND_SAVED_REGS(410,15149
- > #define FRAME_LOCALS_ADDRESS(364,13397
- > #define FRAME_LOCALS_ADDRESS(373,13641
- > #define FRAME_NUM_ARGS(381,13808
- > #define FRAME_SAVED_PC(349,12798
- > #define INIT_EXTRA_FRAME_INFO(296,10861
- 2532,2539c2532,2539
- < #define REGISTER_BYTE(210,8086
- < #define REGISTER_CONVERTIBLE(233,8707
- < #define REGISTER_CONVERT_TO_RAW(244,9022
- < #define REGISTER_CONVERT_TO_VIRTUAL(238,8841
- < #define REGISTER_IN_WINDOW_P(204,7927
- < #define REGISTER_RAW_SIZE(215,8252
- < #define REGISTER_VIRTUAL_SIZE(220,8409
- < #define REGISTER_VIRTUAL_TYPE(250,9190
- ---
- > #define REGISTER_BYTE(210,8094
- > #define REGISTER_CONVERTIBLE(233,8715
- > #define REGISTER_CONVERT_TO_RAW(244,9030
- > #define REGISTER_CONVERT_TO_VIRTUAL(238,8849
- > #define REGISTER_IN_WINDOW_P(204,7935
- > #define REGISTER_RAW_SIZE(215,8260
- > #define REGISTER_VIRTUAL_SIZE(220,8417
- > #define REGISTER_VIRTUAL_TYPE(250,9198
- 2543,2544c2543,2544
- < #define STORE_RETURN_VALUE(277,10231
- < #define STORE_STRUCT_RETURN(259,9498
- ---
- > #define STORE_RETURN_VALUE(277,10239
- > #define STORE_STRUCT_RETURN(259,9506
- 2546,2573c2546,2573
- < tm-sparc.h,1286
- < #define ABOUT_TO_RETURN(113,4189
- < #define CANNOT_STORE_REGISTER(245,8936
- < #define EXTRACT_RETURN_VALUE(257,9399
- < #define EXTRACT_STRUCT_VALUE_ADDRESS(288,10874
- < #define FIX_CALL_DUMMY(556,21079
- < #define FRAMELESS_FUNCTION_INVOCATION(355,13341
- < #define FRAME_ARGS_ADDRESS(364,13629
- < #define FRAME_CHAIN(342,12836
- < #define FRAME_CHAIN_COMBINE(348,13049
- < #define FRAME_CHAIN_VALID(345,12932
- < #define FRAME_FIND_SAVED_REGS(385,14341
- < #define FRAME_LOCALS_ADDRESS(368,13728
- < #define FRAME_NUM_ARGS(375,13986
- < #define FRAME_SAVED_PC(360,13489
- < #define FRAME_STRUCT_ARGS_ADDRESS(366,13675
- < #define INIT_EXTRA_FRAME_INFO(335,12622
- < #define INVALID_FLOAT(118,4344
- < #define PC_ADJUST(82,3266
- < #define PRINT_REGISTER_HOOK(579,21916
- < #define REGISTER_BYTE(181,7094
- < #define REGISTER_CONVERTIBLE(221,8229
- < #define REGISTER_CONVERT_TO_RAW(232,8548
- < #define REGISTER_CONVERT_TO_VIRTUAL(226,8365
- < #define REGISTER_IN_WINDOW_P(193,7555
- < #define REGISTER_RAW_SIZE(201,7765
- < #define REGISTER_VIRTUAL_SIZE(208,7929
- < #define REGISTER_VIRTUAL_TYPE(238,8718
- ---
- > tm-sparc.h,1330
- > #define ABOUT_TO_RETURN(118,4468
- > #define CANNOT_STORE_REGISTER(250,9215
- > #define EXTRACT_RETURN_VALUE(262,9678
- > #define EXTRACT_STRUCT_VALUE_ADDRESS(293,11153
- > #define FIX_CALL_DUMMY(561,21358
- > #define FRAMELESS_FUNCTION_INVOCATION(360,13620
- > #define FRAME_ARGS_ADDRESS(369,13908
- > #define FRAME_CHAIN(347,13115
- > #define FRAME_CHAIN_COMBINE(353,13328
- > #define FRAME_CHAIN_VALID(350,13211
- > #define FRAME_FIND_SAVED_REGS(390,14620
- > #define FRAME_LOCALS_ADDRESS(373,14007
- > #define FRAME_NUM_ARGS(380,14265
- > #define FRAME_SAVED_PC(365,13768
- > #define FRAME_STRUCT_ARGS_ADDRESS(371,13954
- > #define INIT_EXTRA_FRAME_INFO(340,12901
- > #define INVALID_FLOAT(123,4623
- > #define PC_ADJUST(87,3569
- > #define PRINT_REGISTER_HOOK(584,22197
- > #define REGISTER_BYTE(186,7373
- > #define REGISTER_CONVERTIBLE(226,8508
- > #define REGISTER_CONVERT_TO_RAW(237,8827
- > #define REGISTER_CONVERT_TO_VIRTUAL(231,8644
- > #define REGISTER_IN_WINDOW_P(198,7834
- > #define REGISTER_RAW_SIZE(206,8044
- > #define REGISTER_VIRTUAL_SIZE(213,8208
- > #define REGISTER_VIRTUAL_TYPE(243,8997
- 2575,2579c2575,2580
- < #define SAVED_PC_AFTER_CALL(85,3369
- < #define SKIP_PROLOGUE(69,2787
- < #define STACK_ALIGN(97,3674
- < #define STORE_RETURN_VALUE(271,10017
- < #define STORE_STRUCT_RETURN(250,9133
- ---
- > #define SAVED_PC_AFTER_CALL(90,3648
- > #define SKIP_PROLOGUE(72,3013
- > #define SKIP_PROLOGUE_FRAMELESS_P(74,3075
- > #define STACK_ALIGN(102,3953
- > #define STORE_RETURN_VALUE(276,10296
- > #define STORE_STRUCT_RETURN(255,9412
- 2767,2768c2768,2769
- < #define INIT_STACK(83,2971
- < #define REGISTER_U_ADDR(40,1448
- ---
- > #define INIT_STACK(88,3157
- > #define REGISTER_U_ADDR(45,1634
- 2916,2920c2917,2921
- < DEFUN(checkhdr,45,1533
- < DEFUN(freehook,52,1693
- < DEFUN(mallochook,63,1892
- < DEFUN(mcheck,101,2762
- < DEFUN(reallochook,80,2243
- ---
- > DEFUN(checkhdr,46,1548
- > DEFUN(freehook,53,1708
- > DEFUN(mallochook,64,1907
- > DEFUN(mcheck,102,2777
- > DEFUN(reallochook,81,2258
- diff -r gdb-3.98/gdb/WHATS.NEW gdb-4.0/gdb/WHATS.NEW
- 5,6c5
- < Wide output is wrapped at good places to make the output more
- < readable.
- ---
- > Wide output is wrapped at good places to make the output more readable.
- 12,14c11,14
- < remote system. It also supports debugging of realtime processes
- < running under VxWorks, using SunRPC Remote Procedure Calls over TCP/IP
- < to talk to a debugger stub on the target system.
- ---
- > remote system. Serial stubs for the m68k and i386 are provided. Gdb
- > also supports debugging of realtime processes running under VxWorks,
- > using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
- > stub on the target system.
- 22c22,23
- < There is now a GDB reference card in "gdbrc.tex".
- ---
- > There is now a GDB reference card in "doc/refcard.tex". (Make targets
- > refcard.dvi and refcard.ps are available to format it).
- diff -r gdb-3.98/gdb/blockframe.c gdb-4.0/gdb/blockframe.c
- 193a194,198
- > #ifdef SKIP_PROLOGUE_FRAMELESS_P
- > /* This is faster, since only care whether there *is* a prologue,
- > not how long it is. */
- > SKIP_PROLOGUE_FRAMELESS_P (after_prologue);
- > #else
- 194a200
- > #endif
- 277a284,285
- > if (address == 0)
- > return 0;
- diff -r gdb-3.98/gdb/breakpoint.c gdb-4.0/gdb/breakpoint.c
- 284c284
- < if (input_from_terminal_p ())
- ---
- > if (from_tty && input_from_terminal_p ())
- 569a570,578
- > /* Stub for cleaning up our state if we error-out of a breakpoint command */
- > /* ARGSUSED */
- > static void
- > cleanup_executing_breakpoints (ignore)
- > int ignore;
- > {
- > executing_breakpoint_commands = 0;
- > }
- >
- 578a588,591
- > struct cleanup *old_chain;
- >
- > executing_breakpoint_commands = 1;
- > old_chain = make_cleanup (cleanup_executing_breakpoints, 0);
- 583d595
- < executing_breakpoint_commands = 1;
- 602a615
- > discard_cleanups (old_chain);
- 2207c2220
- < /* ARGSUED */
- ---
- > /* ARGSUSED */
- diff -r gdb-3.98/gdb/coffread.c gdb-4.0/gdb/coffread.c
- 691a692
- > /* ARGSUSED */
- 1318a1320,1325
- > linetab_offset = offset;
- > linetab_size = size;
- >
- > if (size == 0)
- > return 0;
- >
- 1328,1329d1334
- < linetab_offset = offset;
- < linetab_size = size;
- 1695c1700
- < type = coff_alloc_type (aux->x_sym.x_tagndx);
- ---
- > type = coff_alloc_type (aux->x_sym.x_tagndx.l);
- 1931a1937
- > /* ARGSUSED */
- Only in gdb-4.0/gdb: config.sub
- diff -r gdb-3.98/gdb/configure gdb-4.0/gdb/configure
- 27c27
- < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
- ---
- > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
- 57a58
- > recursing=
- 62a64
- > commontargets=
- 70c72
- < -ansi | +ansi)
- ---
- > -ansi | +a*)
- 71a74
- > clib=clib
- 76,79d78
- < -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
- < | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
- < forcesubdirs=${arg}
- < ;;
- 85c84
- < -gas | +gas | +ga | +g)
- ---
- > -gas | +g*)
- 88c87
- < -help | +h | +help)
- ---
- > -help | +h*)
- 91c90
- < -nfp | +nfp | +nf | +n)
- ---
- > -nfp | +nf*)
- 94c93
- < -norecurse | +norecurse)
- ---
- > -norecurse | +no*)
- 97c96,99
- < -rm | +rm)
- ---
- > -recursing)
- > recursing=true
- > ;;
- > -rm | +r*)
- 103c105,108
- < -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
- ---
- > -subdirs | +f* | +su*)
- > subdirs=${arg}
- > ;;
- > -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
- 105c110
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 111c116
- < -template=* | +template=*)
- ---
- > -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
- 114c119
- < +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
- ---
- > -v | -verbose | +v*)
- 125c130
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 136d140
- < echo targets=\"${targets}\"
- 145c149
- < echo) 2>&1
- ---
- > echo) 1>&2
- 156c160
- < echo " +forcesubdirs configure in subdirectories. [in source directories]" ;
- ---
- > echo " +subdirs configure in subdirectories. [in source directories]" ;
- 167c171
- < echo "Asking for more than one \"+target\" implies \"+forcesubdirs\". Any other" ;
- ---
- > echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- 186c190
- < echo "Can't find template ${template}."
- ---
- > echo '***' "Can't find template ${template}." 1>&2
- 207c211
- < echo `pwd`/configure.in has no "per-host:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
- 212c216
- < echo `pwd`/configure.in has no "per-target:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
- 245c249,252
- < echo Rebuilt configure in `pwd`
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt configure in `pwd`
- > fi
- 246a254,264
- > # Now update config.sub from the template directory.
- > if echo "$template" | grep -s 'configure$' ; then
- > cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
- > # mv config.sub config.sub.old
- > mv config.sub.new config.sub
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt config.sub in `pwd`
- > fi
- > fi
- >
- 271c289
- < echo No configure script in `pwd`/$i
- ---
- > echo Warning: No configure script in `pwd`/$i
- 274c292,294
- < echo Warning: directory $i is missing.
- ---
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory $i is missing.
- > fi
- 285c305
- < echo srctrigger not set in configure.in. `pwd` not configured.
- ---
- > echo Warning: srctrigger not set in configure.in. `pwd` not configured.
- 295a316,320
- > result=`/bin/sh ./config.sub ${host}`
- > host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > host=${host_cpu}-${host_vendor}-${host_os}
- 300,301c325,422
- < if [ ! -f xconfig/${host} ]; then
- < echo "No such host ${host}"
- ---
- > # map host info into gdb names.
- >
- > case "${host_cpu}" in
- >
- > m68k)
- > case "${host_vendor}" in
- > att) gdb_host=3b1 ;;
- > altos)
- > case "${host_os}" in
- > gas) gdb_host=altosgas ;;
- > *) gdb_host=altos ;;
- > esac
- > ;;
- > hp)
- > case ${host_os} in
- > hpux) gdb_host=hp300hpux ;;
- > bsd) gdb_host=hp300bsd ;;
- > esac
- > ;;
- >
- > isi) gdb_host=isi ;;
- > sony) gdb_host=news ;;
- > sun)
- > case "${host_os}" in
- > sunos3) gdb_host=sun3os3 ;;
- > sunos4) gdb_host=sun3os4 ;;
- > *) gdb_host=sun3 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > m68000)
- > case "${host_vendor}" in
- > sun)
- > case "${host_os}" in
- > sunos3) gdb_host=sun2os3 ;;
- > sunos4) gdb_host=sun2os4 ;;
- > *) gdb_host=sun2 ;;
- > esac
- > esac
- > ;;
- >
- > sparc)
- > case "${host_os}" in
- > sunos3) gdb_host=sun4os3 ;;
- > sunos4) gdb_host=sun4os4 ;;
- > *) gdb_host=sun4 ;;
- > esac
- > ;;
- >
- > m68030)
- > case "${host_vendor}" in
- > sony) gdb_host=news1000 ;;
- > esac
- > ;;
- >
- > mips)
- > case "${host_vendor}" in
- > sony) gdb_host=bigmips ;;
- > dec) gdb_host=dec3100 ;;
- > little) gdb_host=littlemips ;;
- > esac
- > ;;
- >
- > i386)
- > case "${host_vendor}" in
- > sun) gdb_host=sun386 ;;
- > sco) gdb_host=i386sco ;;
- > sequent) gdb_host=symmetry ;;
- > *)
- > case "${host_os}" in
- > sysv) gdb_host=i386v ;;
- > sysv32) gdb_host=i386v32 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > c1 | c2) gdb_host=convex ;;
- >
- > ns32k)
- > case "${host_vendor}" in
- > umax) gdb_host=umax ;;
- > esac
- > ;;
- >
- > arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe) gdb_host=${host_cpu} ;;
- >
- > ### unhandled hosts
- > #altosgas
- > #i386v-g
- > #i386v32-g
- >
- > esac
- >
- > if [ ! -f xconfig/${gdb_host} ]; then
- > echo '***' "Gdb does not support host ${host}" 1>&2
- 306c427
- < hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/$host`
- ---
- > hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
- 310d430
- <
- 313,316c433,437
- < if [ -n "${verbose}" ] ; then
- < echo " target=\"${target}\""
- < fi
- <
- ---
- > result=`/bin/sh ./config.sub ${target}`
- > target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > target=${target_cpu}-${target_vendor}-${target_os}
- 321,322c442,548
- < if [ ! -f tconfig/${target} ]; then
- < echo "No such target ${target}"
- ---
- > case "${target_cpu}" in
- >
- > m68k)
- > case "${target_vendor}" in
- > att) gdb_target=3b1 ;;
- > altos) gdb_target=altos ;;
- > hp)
- > case "${target_os}" in
- > bsd) gdb_target=hp300bsd ;;
- > hpux) gdb_target=hp300hpux ;;
- > esac
- > ;;
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun3os3 ;;
- > sunos4) gdb_target=sun3os4 ;;
- > *) gdb_target=sun3 ;;
- > esac
- > ;;
- > wrs) gdb_target=vxworks68 ;;
- > isi) gdb_target=isi ;;
- > sony) gdb_target=news ;;
- > esac
- > ;;
- >
- > m68000)
- > case "${target_vendor}" in
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun2os3 ;;
- > sunos4) gdb_target=sun2os4 ;;
- > *) gdb_target=sun2 ;;
- > esac
- > esac
- > ;;
- >
- > m68030)
- > case "${target_vendor}" in
- > sony) gdb_target=news1000 ;;
- > esac
- > ;;
- >
- > none | tahoe | vax | np1 | pn | np1 | pn | pyramid | merlin | m88k)
- > gdb_target=${target_cpu} ;;
- > a29k) gdb_target=am29k ;;
- > arm) gdb_target=${target_cpu} ;;
- >
- > mips)
- > case "${target_vendor}" in
- > sony) gdb_target=bigmips ;;
- > dec) gdb_target=dec3100 ;;
- > little) gdb_target=littlemips ;;
- > esac
- > ;;
- >
- > c1 | c2) gdb_target=convex ;;
- >
- > sparc)
- > case "${target_vendor}" in
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun4os3 ;;
- > sunos4) gdb_target=sun4os4 ;;
- > *) gdb_target=sun4 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- >
- > i386)
- > case "${target_vendor}" in
- > sco) gdb_target=i386sco ;;
- > sun) gdb_target=sun386 ;;
- > sequent) gdb_target=symmetry ;;
- > coff) gdb_target=i386v ;;
- > aout) gdb_target=i386v ;;
- > *)
- > case "${target_os}" in
- > sysv) gdb_target=i386v ;;
- > sysv32) gdb_target=i386v32 ;;
- > esac
- > esac
- > ;;
- >
- > i960)
- > case "${target_vendor}" in
- > bout | wrs) gdb_target=vxworks960 ;;
- > coff | intel) gdb_target=nindy960 ;;
- > esac
- > ;;
- >
- > ns32k)
- > case "${target_vendor}" in
- > utek) gdb_target=umax ;;
- > esac
- > ;;
- >
- > ### unhandled targets
- > # altosgas
- > # i386v-g
- > # i386v32-g
- >
- > esac
- >
- > if [ ! -f tconfig/${gdb_target} ]; then
- > echo '***' "Gdb does not support target ${target}" 1>&2
- 327c553
- < cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" {
- ---
- > cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" {
- 332c558
- < targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/$target`
- ---
- > targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
- 334,335c560,561
- < host_makefile_frag=xconfig/${host}
- < target_makefile_frag=tconfig/${target}
- ---
- > host_makefile_frag=xconfig/${gdb_host}
- > target_makefile_frag=tconfig/${gdb_target}
- 361c587
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 365c591
- < if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
- ---
- > if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
- 375c601
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 378c604
- < echo "${Makefile} already exists in source directory. `pwd` not configured."
- ---
- > echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
- 385c611,622
- < if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
- ---
- > if [ ! -d ${targetsubdir} ] ; then
- > if [ -z "${commontargets}" ] ; then
- > mkdir ${targetsubdir}
- > else
- > if [ ! -d Target-independent ] ; then
- > mkdir Target-independent
- > fi
- >
- > ${symbolic_link} Target-independent ${targetsubdir}
- > fi # if target independent
- > fi # if no target dir yet
- >
- 392c629
- < echo "Configured subdirs exist. `pwd` not configured."
- ---
- > echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
- 408c645
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- 410c647
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- 413c650
- < echo \(At least ${srctrigger} is missing.\) 1>&2
- ---
- > echo '***' \(At least ${srctrigger} is missing.\) 1>&2
- 427,428c664,665
- < echo "${progname}: cannot create a link \"${link}\"," 1>&2
- < echo "since the file \"${file}\" does not exist." 1>&2
- ---
- > echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- > echo '***' "since the file \"${file}\" does not exist." 1>&2
- 438c675
- < echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- ---
- > echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- 441c678,681
- < echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- > fi
- 477c717
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 534c774,776
- < echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- ---
- > if [ -n "${verbose}" -o -z "${recursing}" ] ; then
- > echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- > fi
- 562d803
- < done # for each target
- 564,629c805,824
- < # # Now build a Makefile for this host.
- < # if [ -n "${forcesubdirs}" ] ; then
- < # cd ${hostsubdir}
- < # cat > GNUmakefile << E!O!F
- < ## Makefile generated by configure for host ${host}.
- < #
- < #%:
- < # for i in ${targets} ; do \
- < # $(MAKE) -C Target-\$i \$@
- < #
- < #all clean stage1 stage2 stage3 stage4etags tags TAGS
- < #E!O!F
- < # fi
- < done # for each host
- <
- < # If there are subdirectories, then recurse.
- <
- < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
- <
- < # configdirs is not null
- < for configdir in ${configdirs} ; do
- < echo Configuring ${configdir}...
- < specifics=
- < commons=
- <
- < if [ -n "${defaulttargets}" ] ; then
- < for host in ${hosts} ; do
- < if [ -d ${configdir}.${host} ] ; then
- < newspecifics="${specifics} ${host}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} ${host}"
- < commons=${newcommons}
- < fi # if target specific
- < done # for each host
- <
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any common hosts
- <
- < if [ -n "${specifics}" ] ; then
- < for host in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${host}...
- < (cd ${configdir}.${host} ;
- < ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done # for host in specifics
- < fi # if there are any specifics
- < else
- <
- < for target in ${targets} ; do
- < if [ -d ${configdir}.${target} ] ; then
- < newspecifics="${specifics} ${target}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} +target=${target}"
- < commons=${newcommons}
- < fi
- <
- < done # check for target specific dir override
- ---
- > # If there are subdirectories, then recurse.
- > if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
- > for configdir in ${configdirs} ; do
- > if [ -n "${verbose}" ] ; then
- > echo Configuring ${configdir}...
- > fi
- >
- > if [ -d ${configdir} ] ; then
- > (cd ${configdir} ;
- > ./configure -recursing ${host} +target=${target} \
- > ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- > | sed 's/^/ /'
- > else
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory \"${configdir}\" is missing.
- > fi
- > fi
- > done
- > fi
- > done # for each target
- 631,634c826,835
- < if [ -n "${verbose}" ] ; then
- < echo " "commons=\"${commons}\"
- < echo " "specifics=\"${specifics}\"
- < fi # if verbose
- ---
- > # Now build a Makefile for this host.
- > if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
- > cd ${hostsubdir}
- > cat > GNUmakefile << E!O!F
- > # Makefile generated by configure for host ${host}.
- >
- > ALL := $(shell ls -d Target-*)
- >
- > %:
- > $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
- 636,657c837,841
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < ${commons} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any commons
- <
- < if [ -n "${specifics}" ] ; then
- < for target in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${target}...
- < (cd ${configdir}.${target} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < "+target=${target}" +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done
- < fi # if any specifics
- < fi # not default targets
- < done
- ---
- > all:
- > E!O!F
- > cd ..
- > fi
- > done # for each host
- 662a847,877
- > # Revision 1.31 1991/08/23 04:50:57 rich
- > # Minor config polish.
- > #
- > # Revision 1.22 1991/08/23 03:31:43 rich
- > # Minor polish & config mapping.
- > #
- > # Revision 1.30 1991/08/22 07:15:51 rich
- > # Three part names, etc.
- > #
- > # Revision 1.29 1991/08/20 04:56:51 rich
- > # revisiting error messages
- > #
- > # Revision 1.28 1991/08/16 19:22:17 rich
- > # This is the commontargets change and should be considered
- > # experimental.
- > #
- > # Revision 1.27 1991/08/08 01:14:13 rich
- > # allow +f to stand in for +subdirs
- > #
- > # Revision 1.26 1991/08/07 19:21:32 rich
- > # +forcesubdirs -> +subdirs
- > #
- > # Revision 1.25 1991/08/07 07:05:30 rich
- > # Added make.
- > #
- > # Revision 1.24 1991/08/06 19:26:01 rich
- > # revised option parsing.
- > #
- > # Revision 1.23 1991/08/06 19:12:32 rich
- > # Host-level GNUmakefiles.
- > #
- diff -r gdb-3.98/gdb/configure.in gdb-4.0/gdb/configure.in
- 6,7c6,103
- < if [ ! -f xconfig/${host} ]; then
- < echo "No such host ${host}"
- ---
- > # map host info into gdb names.
- >
- > case "${host_cpu}" in
- >
- > m68k)
- > case "${host_vendor}" in
- > att) gdb_host=3b1 ;;
- > altos)
- > case "${host_os}" in
- > gas) gdb_host=altosgas ;;
- > *) gdb_host=altos ;;
- > esac
- > ;;
- > hp)
- > case ${host_os} in
- > hpux) gdb_host=hp300hpux ;;
- > bsd) gdb_host=hp300bsd ;;
- > esac
- > ;;
- >
- > isi) gdb_host=isi ;;
- > sony) gdb_host=news ;;
- > sun)
- > case "${host_os}" in
- > sunos3) gdb_host=sun3os3 ;;
- > sunos4) gdb_host=sun3os4 ;;
- > *) gdb_host=sun3 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > m68000)
- > case "${host_vendor}" in
- > sun)
- > case "${host_os}" in
- > sunos3) gdb_host=sun2os3 ;;
- > sunos4) gdb_host=sun2os4 ;;
- > *) gdb_host=sun2 ;;
- > esac
- > esac
- > ;;
- >
- > sparc)
- > case "${host_os}" in
- > sunos3) gdb_host=sun4os3 ;;
- > sunos4) gdb_host=sun4os4 ;;
- > *) gdb_host=sun4 ;;
- > esac
- > ;;
- >
- > m68030)
- > case "${host_vendor}" in
- > sony) gdb_host=news1000 ;;
- > esac
- > ;;
- >
- > mips)
- > case "${host_vendor}" in
- > sony) gdb_host=bigmips ;;
- > dec) gdb_host=dec3100 ;;
- > little) gdb_host=littlemips ;;
- > esac
- > ;;
- >
- > i386)
- > case "${host_vendor}" in
- > sun) gdb_host=sun386 ;;
- > sco) gdb_host=i386sco ;;
- > sequent) gdb_host=symmetry ;;
- > *)
- > case "${host_os}" in
- > sysv) gdb_host=i386v ;;
- > sysv32) gdb_host=i386v32 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- > c1 | c2) gdb_host=convex ;;
- >
- > ns32k)
- > case "${host_vendor}" in
- > umax) gdb_host=umax ;;
- > esac
- > ;;
- >
- > arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe) gdb_host=${host_cpu} ;;
- >
- > ### unhandled hosts
- > #altosgas
- > #i386v-g
- > #i386v32-g
- >
- > esac
- >
- > if [ ! -f xconfig/${gdb_host} ]; then
- > echo '***' "Gdb does not support host ${host}" 1>&2
- 12c108
- < hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/$host`
- ---
- > hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
- 16,17c112,218
- < if [ ! -f tconfig/${target} ]; then
- < echo "No such target ${target}"
- ---
- > case "${target_cpu}" in
- >
- > m68k)
- > case "${target_vendor}" in
- > att) gdb_target=3b1 ;;
- > altos) gdb_target=altos ;;
- > hp)
- > case "${target_os}" in
- > bsd) gdb_target=hp300bsd ;;
- > hpux) gdb_target=hp300hpux ;;
- > esac
- > ;;
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun3os3 ;;
- > sunos4) gdb_target=sun3os4 ;;
- > *) gdb_target=sun3 ;;
- > esac
- > ;;
- > wrs) gdb_target=vxworks68 ;;
- > isi) gdb_target=isi ;;
- > sony) gdb_target=news ;;
- > esac
- > ;;
- >
- > m68000)
- > case "${target_vendor}" in
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun2os3 ;;
- > sunos4) gdb_target=sun2os4 ;;
- > *) gdb_target=sun2 ;;
- > esac
- > esac
- > ;;
- >
- > m68030)
- > case "${target_vendor}" in
- > sony) gdb_target=news1000 ;;
- > esac
- > ;;
- >
- > none | tahoe | vax | np1 | pn | np1 | pn | pyramid | merlin | m88k)
- > gdb_target=${target_cpu} ;;
- > a29k) gdb_target=am29k ;;
- > arm) gdb_target=${target_cpu} ;;
- >
- > mips)
- > case "${target_vendor}" in
- > sony) gdb_target=bigmips ;;
- > dec) gdb_target=dec3100 ;;
- > little) gdb_target=littlemips ;;
- > esac
- > ;;
- >
- > c1 | c2) gdb_target=convex ;;
- >
- > sparc)
- > case "${target_vendor}" in
- > sun)
- > case "${target_os}" in
- > sunos3) gdb_target=sun4os3 ;;
- > sunos4) gdb_target=sun4os4 ;;
- > *) gdb_target=sun4 ;;
- > esac
- > ;;
- > esac
- > ;;
- >
- >
- > i386)
- > case "${target_vendor}" in
- > sco) gdb_target=i386sco ;;
- > sun) gdb_target=sun386 ;;
- > sequent) gdb_target=symmetry ;;
- > coff) gdb_target=i386v ;;
- > aout) gdb_target=i386v ;;
- > *)
- > case "${target_os}" in
- > sysv) gdb_target=i386v ;;
- > sysv32) gdb_target=i386v32 ;;
- > esac
- > esac
- > ;;
- >
- > i960)
- > case "${target_vendor}" in
- > bout | wrs) gdb_target=vxworks960 ;;
- > coff | intel) gdb_target=nindy960 ;;
- > esac
- > ;;
- >
- > ns32k)
- > case "${target_vendor}" in
- > utek) gdb_target=umax ;;
- > esac
- > ;;
- >
- > ### unhandled targets
- > # altosgas
- > # i386v-g
- > # i386v32-g
- >
- > esac
- >
- > if [ ! -f tconfig/${gdb_target} ]; then
- > echo '***' "Gdb does not support target ${target}" 1>&2
- 22c223
- < cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" {
- ---
- > cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" {
- 27c228
- < targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/$target`
- ---
- > targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
- 29,30c230,231
- < host_makefile_frag=xconfig/${host}
- < target_makefile_frag=tconfig/${target}
- ---
- > host_makefile_frag=xconfig/${gdb_host}
- > target_makefile_frag=tconfig/${gdb_target}
- diff -r gdb-3.98/gdb/core.c gdb-4.0/gdb/core.c
- 46,47d45
- < struct section_table *core_sections, *core_sections_end;
- <
- 70a69,73
- > if (core_ops.sections) {
- > free (core_ops.sections);
- > core_ops.sections = NULL;
- > core_ops.sections_end = NULL;
- > }
- 73a77,88
- > #ifdef SOLIB_ADD
- > /* Stub function for catch_errors around shared library hacking. */
- >
- > int
- > solib_add_stub (from_tty)
- > int from_tty;
- > {
- > SOLIB_ADD (NULL, from_tty, &core_ops);
- > return 0;
- > }
- > #endif /* SOLIB_ADD */
- >
- 126c141,142
- < if (build_section_table (core_bfd, &core_sections, &core_sections_end))
- ---
- > if (build_section_table (core_bfd, &core_ops.sections,
- > &core_ops.sections_end))
- 131c147
- < make_cleanup (unpush_target, &core_ops);
- ---
- > discard_cleanups (old_chain);
- 145c161,162
- < /* Add symbols for any shared libraries that were in use */
- ---
- >
- > /* Add symbols and section mappings for any shared libraries */
- 147c164
- < SOLIB_ADD (NULL, from_tty);
- ---
- > (void) catch_errors (solib_add_stub, from_tty, (char *)0);
- 159,160d175
- <
- < discard_cleanups (old_chain);
- 223,225c238
- < print a warning if they don't go together.
- < This should really check that the core file came
- < from that exec file, but I don't know how to do it. */
- ---
- > print a warning if they don't go together. */
- 256c269,270
- < core_files_info ()
- ---
- > core_files_info (t)
- > struct target_ops *t;
- 262,265c276,286
- < for (p = core_sections; p < core_sections_end; p++)
- < printf("\tcore file from 0x%08x to 0x%08x is %s\n",
- < p->addr, p->endaddr,
- < bfd_section_name (core_bfd, p->sec_ptr));
- ---
- > for (p = t->sections; p < t->sections_end; p++)
- > if (p->bfd == core_bfd)
- > printf("\tcore file from 0x%08x to 0x%08x is %s\n",
- > p->addr, p->endaddr,
- > bfd_section_name (p->bfd, p->sec_ptr));
- > else {
- > printf("\tshared lib from 0x%08x to 0x%08x is %s in %s\n",
- > p->addr, p->endaddr,
- > bfd_section_name (p->bfd, p->sec_ptr),
- > bfd_get_filename (p->bfd));
- > }
- 357,391d377
- < /* Read or write the core file.
- <
- < Args are address within core file, address within gdb address-space,
- < length, and a flag indicating whether to read or write.
- <
- < Result is a length:
- <
- < 0: We cannot handle this address and length.
- < > 0: We have handled N bytes starting at this address.
- < (If N == length, we did it all.) We might be able
- < to handle more bytes beyond this length, but no
- < promises.
- < < 0: We cannot handle this address, but if somebody
- < else handles (-N) bytes, we can start from there.
- <
- < The actual work is done by xfer_memory in exec.c, which we share
- < in common with exec_xfer_memory(). */
- <
- < static int
- < core_xfer_memory (memaddr, myaddr, len, write)
- < CORE_ADDR memaddr;
- < char *myaddr;
- < int len;
- < int write;
- < {
- < int res;
- < res = xfer_memory (memaddr, myaddr, len, write,
- < core_bfd, core_sections, core_sections_end);
- < #ifdef SOLIB_XFER_MEMORY
- < if (res == 0)
- < res = SOLIB_XFER_MEMORY (memaddr, myaddr, len, write);
- < #endif
- < return res;
- < }
- <
- 446c432
- < core_xfer_memory, core_files_info,
- ---
- > xfer_memory, core_files_info,
- 449c435
- < 0, 0, 0, 0, 0, /* kill, load, add_syms, call fn, lookup sym */
- ---
- > 0, 0, 0, 0, /* kill, load, call fn, lookup sym */
- 452a439
- > 0, 0, /* section pointers */
- diff -r gdb-3.98/gdb/cplus-dem.c gdb-4.0/gdb/cplus-dem.c
- 252,253c252
- < int n = (strlen (type) - 3)*2 + 3 + 2 + 1;
- < char *tem = (char *) xmalloc (n);
- ---
- > char *tem = (char *) xmalloc ((strlen (type) - 3)*2 + 3 + 2 + 1);
- 263,264c262
- < int n = strlen (type) + 2;
- < char *tem = (char *) xmalloc (n);
- ---
- > char *tem = (char *) xmalloc (strlen (type) + 2);
- 273,274c271
- < int n = strlen (type + 4) + 14 + 1;
- < char *tem = (char *) xmalloc (n);
- ---
- > char *tem = (char *) xmalloc (strlen (type + 4) + 14 + 1);
- diff -r gdb-3.98/gdb/dbxread.c gdb-4.0/gdb/dbxread.c
- 163,164c163,164
- < static const char vptr_name[] = { '_','v','p','t','r',CPLUS_MARKER };
- < static const char vb_name[] = { '_','v','b',CPLUS_MARKER };
- ---
- > static const char vptr_name[] = { '_','v','p','t','r',CPLUS_MARKER,'\0' };
- > static const char vb_name[] = { '_','v','b',CPLUS_MARKER,'\0' };
- 1239,1246c1239
- < enum misc_function_type misc_type =
- < (type == (N_TEXT | N_EXT) ? mf_text :
- < (type == (N_DATA | N_EXT)
- < || type == (N_DATA)
- < || type == (N_SETV | N_EXT)
- < ) ? mf_data :
- < type == (N_BSS | N_EXT) ? mf_bss :
- < type == (N_ABS | N_EXT) ? mf_abs : mf_unknown);
- ---
- > enum misc_function_type misc_type;
- 1247a1241,1251
- > switch (type &~ N_EXT) {
- > case N_TEXT: misc_type = mf_text; break;
- > case N_DATA: misc_type = mf_data; break;
- > case N_BSS: misc_type = mf_bss; break;
- > case N_ABS: misc_type = mf_abs; break;
- > #ifdef N_SETV
- > case N_SETV: misc_type = mf_data; break;
- > #endif
- > default: misc_type = mf_unknown; break;
- > }
- >
- 2409,2410c2413,2417
- < return (st1[0] - st2[0] ? st1[0] - st2[0] :
- < strcmp (st1 + 1, st2 + 1));
- ---
- > if (st1[0] - st2[0])
- > return st1[0] - st2[0];
- > if (st1[1] - st2[1])
- > return st1[1] - st2[1];
- > return strcmp (st1 + 1, st2 + 1);
- 2759a2767
- > /* ARGSUSED */
- 3274a3283
- > /* ARGSUSED */
- 3599,3603c3608,3612
- < int i;
- < for (i = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; i >= 0; i--)
- < if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), i) == 0)
- < TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), i) =
- < type_name_no_tag (TYPE_BASECLASS (SYMBOL_TYPE (sym), i));
- ---
- > int j;
- > for (j = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; j >= 0; j--)
- > if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) == 0)
- > TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) =
- > type_name_no_tag (TYPE_BASECLASS (SYMBOL_TYPE (sym), j));
- 4359a4369,4371
- > /* GNU C++ anonymous type. */
- > else if (*p == '_')
- > break;
- 4934,4936c4946,4948
- < struct symbol *sym = syms->symbol[j];
- < SYMBOL_TYPE (sym) = type;
- < TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (sym);
- ---
- > struct symbol *xsym = syms->symbol[j];
- > SYMBOL_TYPE (xsym) = type;
- > TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
- 4938c4950
- < TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (sym);
- ---
- > TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (xsym);
- diff -r gdb-3.98/gdb/depend gdb-4.0/gdb/depend
- 4c4,5
- < am29k-pinsn.o : am29k-pinsn.c defs.h target.h am29k-opcode.h
- ---
- > am29k-pinsn.o : am29k-pinsn.c defs.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h ${srcdir}/../include/obstack.h am29k-opcode.h
- 45c46
- < gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ${srcdir}/../bfd/libaout.h \
- ---
- > ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h ${srcdir}/../bfd/libaout.h \
- 49c50
- < expression.h target.h frame.h
- ---
- > expression.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h frame.h
- 51,52c52,53
- < breakpoint.h value.h symtab.h target.h gdbcmd.h command.h gdbcore.h \
- < ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- ---
- > breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h gdbcmd.h command.h gdbcore.h
- 86c87
- < target.h
- ---
- > target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- 88,89c89,90
- < inferior.h breakpoint.h value.h symtab.h target.h gdbcore.h \
- < ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- ---
- > inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h gdbcore.h
- 95,96c96,97
- < inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/wait.h \
- < gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ieee-float.h
- ---
- > inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h ${srcdir}/../include/wait.h gdbcore.h ieee-float.h
- 109,110c110,112
- < ${srcdir}/../include/getopt.h ${srcdir}/../readline/readline.h ${srcdir}/../readline/keymaps.h \
- < ${srcdir}/../readline/chardefs.h ${srcdir}/../readline/history.h
- ---
- > ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ${srcdir}/../include/getopt.h \
- > ${srcdir}/../readline/readline.h ${srcdir}/../readline/keymaps.h ${srcdir}/../readline/chardefs.h \
- > ${srcdir}/../readline/history.h
- 147c149
- < terminal.h target.h
- ---
- > terminal.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- 149,150c151,152
- < frame.h inferior.h breakpoint.h value.h symtab.h target.h gdbcore.h \
- < ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h command.h ieee-float.h \
- ---
- > frame.h inferior.h breakpoint.h value.h symtab.h target.h \
- > ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h command.h ieee-float.h \
- 155c157
- < gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h command.h symfile.h \
- ---
- > ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h command.h symfile.h \
- 159,160c161,162
- < inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/wait.h \
- < terminal.h
- ---
- > inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h ${srcdir}/../include/wait.h terminal.h
- 172,173c174,175
- < inferior.h breakpoint.h value.h symtab.h signame.h target.h ieee-float.h \
- < gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- ---
- > inferior.h breakpoint.h value.h symtab.h signame.h target.h \
- > ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ieee-float.h gdbcore.h
- 175,176c177,178
- < breakpoint.h value.h symtab.h frame.h param.h target.h gdbcore.h \
- < ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- ---
- > breakpoint.h value.h symtab.h frame.h param.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h gdbcore.h
- 200,202c202,205
- < target.o : target.c defs.h target.h gdbcmd.h command.h symtab.h inferior.h \
- < breakpoint.h value.h frame.h param.h tm.h config.status param-no-tm.h xm.h config.status \
- < ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h symfile.h
- ---
- > target.o : target.c defs.h target.h ${srcdir}/../include/bfd.h \
- > ${srcdir}/../include/ansidecl.h ${srcdir}/../include/obstack.h gdbcmd.h command.h symtab.h \
- > inferior.h breakpoint.h value.h frame.h param.h tm.h config.status param-no-tm.h xm.h config.status \
- > symfile.h
- 211c214
- < symtab.h expression.h target.h
- ---
- > symtab.h expression.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h
- Only in gdb-4.0/gdb/doc: Makefile
- Only in gdb-3.98/gdb/doc: gdb-all.aux
- Only in gdb-3.98/gdb/doc: gdb-all.cp
- Only in gdb-3.98/gdb/doc: gdb-all.dvi
- Only in gdb-3.98/gdb/doc: gdb-all.fn
- Only in gdb-3.98/gdb/doc: gdb-all.ky
- Only in gdb-3.98/gdb/doc: gdb-all.log
- Only in gdb-3.98/gdb/doc: gdb-all.pg
- Only in gdb-4.0/gdb/doc: gdb-all.texi
- Only in gdb-3.98/gdb/doc: gdb-all.texinfo
- Only in gdb-3.98/gdb/doc: gdb-all.toc
- Only in gdb-3.98/gdb/doc: gdb-all.tp
- Only in gdb-3.98/gdb/doc: gdb-all.vr
- diff -r gdb-3.98/gdb/doc/gdb.texinfo gdb-4.0/gdb/doc/gdb.texinfo
- 1c1
- < _dnl__ -*-Texinfo-*-
- ---
- > _dnl__ -*-Texinfo-*-
- 5c5
- < @c $Id: gdb.texinfo,v 2.45 1991/08/01 00:02:27 pesch Exp $
- ---
- > @c $Id: gdb.texinfo,v 2.53 1991/08/24 00:43:23 pesch Exp $
- 28c28
- < \xdef\manvers{\$Revision: 2.45 $} % For use in headers, footers too
- ---
- > \xdef\manvers{\$Revision: 2.53 $} % For use in headers, footers too
- 33c33
- < @c Wed Jul 31 12:06:29 1991 John Gilmore (gnu at cygint.cygnus.com)
- ---
- > @c Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com)
- 125,146c125,147
- < * Summary:: Summary of _GDBN__
- < * New Features:: New Features in _GDBN__ version 4.0
- < * Sample Session:: A Sample _GDBN__ Session
- < * Invocation:: Getting In and Out of _GDBN__
- < * Commands::
- < * Running:: Running Programs Under _GDBN__
- < * Stopping:: Stopping and Continuing
- < * Stack:: Examining the Stack
- < * Source:: Examining Source Files
- < * Data:: Examining Data
- < * Symbols:: Examining the Symbol Table
- < * Altering:: Altering Execution
- < * _GDBN__ Files::
- < * Targets:: Specifying a Debugging Target
- < * Controlling _GDBN__:: Controlling _GDBN__
- < * Sequences:: Canned Sequences of Commands
- < * Emacs:: Using _GDBN__ under GNU Emacs
- < * _GDBN__ Bugs:: Reporting Bugs in _GDBN__
- < * Renamed Commands::
- < * Installing _GDBN__:: Installing _GDBN__
- < * Copying:: GNU GENERAL PUBLIC LICENSE
- < * Index:: Index
- ---
- > * Summary:: Summary of _GDBN__
- > * New Features:: New Features in _GDBN__ version 4.0
- > * Sample Session:: A Sample _GDBN__ Session
- > * Invocation:: Getting In and Out of _GDBN__
- > * Commands::
- > * Running:: Running Programs Under _GDBN__
- > * Stopping:: Stopping and Continuing
- > * Stack:: Examining the Stack
- > * Source:: Examining Source Files
- > * Data:: Examining Data
- > * Cplusplus:: C++ and _GDBN__
- > * Symbols:: Examining the Symbol Table
- > * Altering:: Altering Execution
- > * _GDBN__ Files::
- > * Targets:: Specifying a Debugging Target
- > * Controlling _GDBN__:: Controlling _GDBN__
- > * Sequences:: Canned Sequences of Commands
- > * Emacs:: Using _GDBN__ under GNU Emacs
- > * _GDBN__ Bugs:: Reporting Bugs in _GDBN__
- > * Renamed Commands::
- > * Installing _GDBN__:: Installing _GDBN__
- > * Copying:: GNU GENERAL PUBLIC LICENSE
- > * Index:: Index
- 151,152c152,153
- < * Free Software:: Free Software
- < * Contributors:: Contributors to _GDBN__
- ---
- > * Free Software:: Free Software
- > * Contributors:: Contributors to _GDBN__
- 156,158c157,159
- < * Starting _GDBN__:: Starting _GDBN__
- < * Leaving _GDBN__:: Leaving _GDBN__
- < * Shell Commands:: Shell Commands
- ---
- > * Starting _GDBN__:: Starting _GDBN__
- > * Leaving _GDBN__:: Leaving _GDBN__
- > * Shell Commands:: Shell Commands
- 162,163c163,164
- < * File Options:: Choosing Files
- < * Mode Options:: Choosing Modes
- ---
- > * File Options:: Choosing Files
- > * Mode Options:: Choosing Modes
- 167,168c168,169
- < * Command Syntax:: Command Syntax
- < * Help:: Getting Help
- ---
- > * Command Syntax:: Command Syntax
- > * Help:: Getting Help
- 172,179c173,180
- < * Compilation:: Compiling for Debugging
- < * Starting:: Starting your Program
- < * Arguments:: Your Program's Arguments
- < * Environment:: Your Program's Environment
- < * Working Directory:: Your Program's Working Directory
- < * Input/Output:: Your Program's Input and Output
- < * Attach:: Debugging an Already-Running Process
- < * Kill Process:: Killing the Child Process
- ---
- > * Compilation:: Compiling for Debugging
- > * Starting:: Starting your Program
- > * Arguments:: Your Program's Arguments
- > * Environment:: Your Program's Environment
- > * Working Directory:: Your Program's Working Directory
- > * Input/Output:: Your Program's Input and Output
- > * Attach:: Debugging an Already-Running Process
- > * Kill Process:: Killing the Child Process
- 183,185c184,186
- < * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- < * Continuing and Stepping:: Resuming Execution
- < * Signals:: Signals
- ---
- > * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- > * Continuing and Stepping:: Resuming Execution
- > * Signals:: Signals
- 189,197c190,198
- < * Set Breaks:: Setting Breakpoints
- < * Set Watchpoints:: Setting Watchpoints
- < * Exception Handling:: Breakpoints and Exceptions
- < * Delete Breaks:: Deleting Breakpoints
- < * Disabling:: Disabling Breakpoints
- < * Conditions:: Break Conditions
- < * Break Commands:: Breakpoint Command Lists
- < * Breakpoint Menus:: Breakpoint Menus
- < * Error in Breakpoints::
- ---
- > * Set Breaks:: Setting Breakpoints
- > * Set Watchpoints:: Setting Watchpoints
- > * Exception Handling:: Breakpoints and Exceptions
- > * Delete Breaks:: Deleting Breakpoints
- > * Disabling:: Disabling Breakpoints
- > * Conditions:: Break Conditions
- > * Break Commands:: Breakpoint Command Lists
- > * Breakpoint Menus:: Breakpoint Menus
- > * Error in Breakpoints::
- 201,204c202,205
- < * Frames:: Stack Frames
- < * Backtrace:: Backtraces
- < * Selection:: Selecting a Frame
- < * Frame Info:: Information on a Frame
- ---
- > * Frames:: Stack Frames
- > * Backtrace:: Backtraces
- > * Selection:: Selecting a Frame
- > * Frame Info:: Information on a Frame
- 208,211c209,212
- < * List:: Printing Source Lines
- < * Search:: Searching Source Files
- < * Source Path:: Specifying Source Directories
- < * Machine Code:: Source and Machine Code
- ---
- > * List:: Printing Source Lines
- > * Search:: Searching Source Files
- > * Source Path:: Specifying Source Directories
- > * Machine Code:: Source and Machine Code
- 215,225c216,226
- < * Expressions:: Expressions
- < * Variables:: Program Variables
- < * Arrays:: Artificial Arrays
- < * Output formats:: Output formats
- < * Memory:: Examining Memory
- < * Auto Display:: Automatic Display
- < * Print Settings:: Print Settings
- < * Value History:: Value History
- < * Convenience Vars:: Convenience Variables
- < * Registers:: Registers
- < * Floating Point Hardware:: Floating Point Hardware
- ---
- > * Expressions:: Expressions
- > * Variables:: Program Variables
- > * Arrays:: Artificial Arrays
- > * Output formats:: Output formats
- > * Memory:: Examining Memory
- > * Auto Display:: Automatic Display
- > * Print Settings:: Print Settings
- > * Value History:: Value History
- > * Convenience Vars:: Convenience Variables
- > * Registers:: Registers
- > * Floating Point Hardware:: Floating Point Hardware
- 229,233c230,234
- < * Assignment:: Assignment to Variables
- < * Jumping:: Continuing at a Different Address
- < * Signaling:: Giving the Program a Signal
- < * Returning:: Returning from a Function
- < * Calling:: Calling your Program's Functions
- ---
- > * Assignment:: Assignment to Variables
- > * Jumping:: Continuing at a Different Address
- > * Signaling:: Giving the Program a Signal
- > * Returning:: Returning from a Function
- > * Calling:: Calling your Program's Functions
- 237,238c238,239
- < * Files:: Commands to Specify Files
- < * Symbol Errors:: Errors Reading Symbol Files
- ---
- > * Files:: Commands to Specify Files
- > * Symbol Errors:: Errors Reading Symbol Files
- 242,244c243,245
- < * Active Targets:: Active Targets
- < * Target Commands:: Commands for Managing Targets
- < * Remote:: Remote Debugging
- ---
- > * Active Targets:: Active Targets
- > * Target Commands:: Commands for Managing Targets
- > * Remote:: Remote Debugging
- 248,250c249,251
- < * i960-Nindy Remote::
- < * EB29K Remote::
- < * VxWorks Remote::
- ---
- > * i960-Nindy Remote::
- > * EB29K Remote::
- > * VxWorks Remote::
- 254,256c255,257
- < * Nindy Startup:: Startup with Nindy
- < * Nindy Options:: Options for Nindy
- < * Nindy reset:: Nindy Reset Command
- ---
- > * Nindy Startup:: Startup with Nindy
- > * Nindy Options:: Options for Nindy
- > * Nindy reset:: Nindy Reset Command
- 260,262c261,263
- < * Comms (EB29K):: Communications Setup
- < * gdb-EB29K:: EB29K cross-debugging
- < * Remote Log:: Remote Log
- ---
- > * Comms (EB29K):: Communications Setup
- > * gdb-EB29K:: EB29K cross-debugging
- > * Remote Log:: Remote Log
- 266,268c267,269
- < * VxWorks connection:: Connecting to VxWorks
- < * VxWorks download:: VxWorks Download
- < * VxWorks attach:: Running Tasks
- ---
- > * VxWorks connection:: Connecting to VxWorks
- > * VxWorks download:: VxWorks Download
- > * VxWorks attach:: Running Tasks
- 272,277c273,278
- < * Prompt:: Prompt
- < * Editing:: Command Editing
- < * History:: Command History
- < * Screen Size:: Screen Size
- < * Numbers:: Numbers
- < * Messages/Warnings:: Optional Warnings and Messages
- ---
- > * Prompt:: Prompt
- > * Editing:: Command Editing
- > * History:: Command History
- > * Screen Size:: Screen Size
- > * Numbers:: Numbers
- > * Messages/Warnings:: Optional Warnings and Messages
- 281,283c282,284
- < * Define:: User-Defined Commands
- < * Command Files:: Command Files
- < * Output:: Commands for Controlled Output
- ---
- > * Define:: User-Defined Commands
- > * Command Files:: Command Files
- > * Output:: Commands for Controlled Output
- 287,288c288,289
- < * Bug Criteria:: Have You Found a Bug?
- < * Bug Reporting:: How to Report Bugs
- ---
- > * Bug Criteria:: Have You Found a Bug?
- > * Bug Reporting:: How to Report Bugs
- 316c317
- < _GDBN__ can be used to debug programs written in C and C++. Pascal support
- ---
- > You can use _GDBN__ to debug programs written in C and C++. Modula-2 support
- 321,322c322,323
- < * Free Software:: Free Software
- < * Contributors:: Contributors to GDB
- ---
- > * Free Software:: Free Software
- > * Contributors:: Contributors to GDB
- 361,365c362,366
- < particularly thank those who shepherded GDB through major releases:
- < John Gilmore (release 4.0); Jim Kingdon (releases 3.9, 3.5, 3.4, 3.3);
- < and Randy Smith (releases 3.2, 3.1, 3.0). As major maintainer of GDB
- < for some period, each contributed significantly to the structure,
- < stability, and capabilities of the entire debugger.
- ---
- > particularly thank those who shepherded GDB through major releases: John
- > Gilmore (release 4.0; happy birthday, John!); Jim Kingdon (releases
- > 3.9, 3.5, 3.4, 3.3); and Randy Smith (releases 3.2, 3.1, 3.0). As major
- > maintainer of GDB for some period, each contributed significantly to the
- > structure, stability, and capabilities of the entire debugger.
- 415,418c416,423
- < a serial port, realtime systems over a TCP/IP connection, etc.
- < Internally, _GDBN__ now uses a function vector to mediate access to
- < different targets; if you need to add your own support for a remote
- < protocol, this makes it much easier.
- ---
- > a serial port, realtime systems over a TCP/IP connection, etc. The
- > command @code{load} can download programs into a remote system. Serial
- > stubs are available for Motorola 680x0 and Intel 80386 remote systems;
- > _GDBN__ also supports debugging realtime processes running under
- > VxWorks, using SunRPC Remote Procedure Calls over TCP/IP to talk to a
- > debugger stub on the target system. Internally, _GDBN__ now uses a
- > function vector to mediate access to different targets; if you need to
- > add your own support for a remote protocol, this makes it much easier.
- 425a431,434
- > @item Wide Output
- > Commands that issue wide output now insert newlines at places designed
- > to make the output more readable.
- >
- 427c436
- < _GDBN__ uses a new scheme called the Binary File Descriptor (BFD)
- ---
- > _GDBN__ uses a new library called the Binary File Descriptor (BFD)
- 435c444
- < @item Configuration
- ---
- > @item Configuration and Ports
- 439c448,449
- < cross-debugger.
- ---
- > cross-debugger. @xref{Installing _GDBN__} for details on how to
- > configure and on what architectures are now available.
- 449,452c459,464
- < @item Source Language
- < _GDBN__ now has limited support for C++ exception handling: _GDBN__ can
- < break when an exception is raised, before the stack is peeled back to
- < the exception handler's context.
- ---
- > @item C++
- > _GDBN__ now supports C++ multiple inheritance (if used with a GCC
- > version 2 compiler), and also has limited support for C++ exception
- > handling, with the commands @code{catch} and @code{info catch}: _GDBN__
- > can break when an exception is raised, before the stack is peeled back
- > to the exception handler's context.
- 461,467d472
- < @item Ports
- < _GDBN__ has been ported to the following new architectures: AT&T 3b1,
- < Acorn RISC machine, HP300 running HPUX, big- and little-endian MIPS
- < machines, Motorola 88k, Sun 386i, and Sun 3 running SunOS 4. In
- < addition, the following are supported as targets only: AMD 29k, Intel
- < 960, and Wind River's VxWorks.
- <
- 469c474,480
- < _GDBN__ 4.0 supports SunOS shared libraries.
- ---
- > _GDBN__ 4.0 can debug programs and core files that use SunOS shared
- > libraries. You can load symbols from a shared library with the command
- > @code{sharedlibrary} (@pxref{Files}).
- >
- > @item Reference Card
- > _GDBN__ 4.0 has a reference card; @xref{Formatting Manual} for
- > instructions on printing it.
- 738,740c749,751
- < * Starting _GDBN__:: Starting _GDBN__
- < * Leaving _GDBN__:: Leaving _GDBN__
- < * Shell Commands:: Shell Commands
- ---
- > * Starting _GDBN__:: Starting _GDBN__
- > * Leaving _GDBN__:: Leaving _GDBN__
- > * Shell Commands:: Shell Commands
- 760a772,780
- > You can, instead, specify a process ID as a second argument, if you want
- > to debug a running process:
- > @example
- > _GDBP__ program 1234
- > @end example
- > @noindent
- > would attach _GDBN__ to process @code{1234} (unless you also have a file
- > named @file{1234}; _GDBN__ does check for a core file first).
- >
- 776,777c796,797
- < * File Options:: Choosing Files
- < * Mode Options:: Choosing Modes
- ---
- > * File Options:: Choosing Files
- > * Mode Options:: Choosing Modes
- 942,943c962,963
- < * Command Syntax:: Command Syntax
- < * Help:: Getting Help
- ---
- > * Command Syntax:: Command Syntax
- > * Help:: Getting Help
- 975a996,1001
- > _GDBN__ can also use @key{RET} in another way: to partition lengthy
- > output, in a way similar to the common utility @code{more}
- > (@pxref{Screen Size}). Since it's easy to press one @key{RET} too many
- > in this situation, _GDBN__ disables command repetition after any command
- > that generates this sort of display.
- >
- 1104,1111c1130,1137
- < * Compilation:: Compiling for Debugging
- < * Starting:: Starting your Program
- < * Arguments:: Your Program's Arguments
- < * Environment:: Your Program's Environment
- < * Working Directory:: Your Program's Working Directory
- < * Input/Output:: Your Program's Input and Output
- < * Attach:: Debugging an Already-Running Process
- < * Kill Process:: Killing the Child Process
- ---
- > * Compilation:: Compiling for Debugging
- > * Starting:: Starting your Program
- > * Arguments:: Your Program's Arguments
- > * Environment:: Your Program's Environment
- > * Working Directory:: Your Program's Working Directory
- > * Input/Output:: Your Program's Input and Output
- > * Attach:: Debugging an Already-Running Process
- > * Kill Process:: Killing the Child Process
- 1514,1516c1540,1542
- < * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- < * Continuing and Stepping:: Resuming Execution
- < * Signals:: Signals
- ---
- > * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- > * Continuing and Stepping:: Resuming Execution
- > * Signals:: Signals
- 1547,1555c1573,1581
- < * Set Breaks:: Setting Breakpoints
- < * Set Watchpoints:: Setting Watchpoints
- < * Exception Handling:: Breakpoints and Exceptions
- < * Delete Breaks:: Deleting Breakpoints
- < * Disabling:: Disabling Breakpoints
- < * Conditions:: Break Conditions
- < * Break Commands:: Breakpoint Command Lists
- < * Breakpoint Menus:: Breakpoint Menus
- < * Error in Breakpoints::
- ---
- > * Set Breaks:: Setting Breakpoints
- > * Set Watchpoints:: Setting Watchpoints
- > * Exception Handling:: Breakpoints and Exceptions
- > * Delete Breaks:: Deleting Breakpoints
- > * Disabling:: Disabling Breakpoints
- > * Conditions:: Break Conditions
- > * Break Commands:: Breakpoint Command Lists
- > * Breakpoint Menus:: Breakpoint Menus
- > * Error in Breakpoints::
- 1634d1659
- < @c FIXME: 2nd sentence below C++ only?
- 1636,1637c1661
- < @var{regex}. This is useful for setting breakpoints on overloaded
- < functions that are not members of any special classes. This command
- ---
- > @var{regex}. This command
- 1642a1667,1670
- > When debugging C++ programs, @code{rbreak} is useful for setting
- > breakpoints on overloaded functions that are not members of any special
- > classes.
- >
- 1689,1690c1717,1718
- < Some languages, such as GNU C++, implement exception handling. _GDBN__
- < can be used to examine what caused the program to raise an exception
- ---
- > Some languages, such as GNU C++, implement exception handling. You can
- > use _GDBN__ to examine what caused the program to raise an exception,
- 1731c1759
- < knowledge of the implementation. In the case of GNU C++ exceptions are
- ---
- > knowledge of the implementation. In the case of GNU C++, exceptions are
- 1736c1764
- < /* ADDR is where the exception identifier is stored.
- ---
- > /* @var{addr} is where the exception identifier is stored.
- 2077,2078c2105,2106
- < @cindex C++ overloading
- < @cindex symbol overloading
- ---
- > @cindex overloading
- > @cindex symbol overloading
- 2252c2280
- < 206 expand_input();
- ---
- > 206 expand_input();
- 2254c2282
- < 195 for ( ; argc > 0; NEXTARG) @{
- ---
- > 195 for ( ; argc > 0; NEXTARG) @{
- 2420,2423c2448,2451
- < * Frames:: Stack Frames
- < * Backtrace:: Backtraces
- < * Selection:: Selecting a Frame
- < * Frame Info:: Information on a Frame
- ---
- > * Frames:: Stack Frames
- > * Backtrace:: Backtraces
- > * Selection:: Selecting a Frame
- > * Frame Info:: Information on a Frame
- 2682,2685c2710,2713
- < * List:: Printing Source Lines
- < * Search:: Searching Source Files
- < * Source Path:: Specifying Source Directories
- < * Machine Code:: Source and Machine Code
- ---
- > * List:: Printing Source Lines
- > * Search:: Searching Source Files
- > * Source Path:: Specifying Source Directories
- > * Machine Code:: Source and Machine Code
- 2940,2947c2968,2975
- < 0x63e4 <builtin_init+5340>: ble 0x63f8 <builtin_init+5360>
- < 0x63e8 <builtin_init+5344>: sethi %hi(0x4c00), %o0
- < 0x63ec <builtin_init+5348>: ld [%i1+4], %o0
- < 0x63f0 <builtin_init+5352>: b 0x63fc <builtin_init+5364>
- < 0x63f4 <builtin_init+5356>: ld [%o0+4], %o0
- < 0x63f8 <builtin_init+5360>: or %o0, 0x1a4, %o0
- < 0x63fc <builtin_init+5364>: call 0x9288 <path_search>
- < 0x6400 <builtin_init+5368>: nop
- ---
- > 0x63e4 <builtin_init+5340>: ble 0x63f8 <builtin_init+5360>
- > 0x63e8 <builtin_init+5344>: sethi %hi(0x4c00), %o0
- > 0x63ec <builtin_init+5348>: ld [%i1+4], %o0
- > 0x63f0 <builtin_init+5352>: b 0x63fc <builtin_init+5364>
- > 0x63f4 <builtin_init+5356>: ld [%o0+4], %o0
- > 0x63f8 <builtin_init+5360>: or %o0, 0x1a4, %o0
- > 0x63fc <builtin_init+5364>: call 0x9288 <path_search>
- > 0x6400 <builtin_init+5368>: nop
- 2953c2981
- < @node Data, Symbols, Source, Top
- ---
- > @node Data, Cplusplus, Source, Top
- 2965,2966c2993,2994
- < evaluates and prints the value of any valid expression of the language
- < the program is written in (for now, C or C++). You type
- ---
- > evaluates and prints the value of an expression of the language your
- > program is written in (for now, C or C++). You type
- 2973c3001
- < where @var{exp} is any valid expression (in the source language), and
- ---
- > where @var{exp} is an expression (in the source language), and
- 2980a3009,3012
- > If you're interested in information about types, or about how the fields
- > of a struct or class are declared, use the @code{ptype @var{exp}}
- > command rather than @code{print}. @xref{Symbols}.
- >
- 2982,2992c3014,3024
- < * Expressions:: Expressions
- < * Variables:: Program Variables
- < * Arrays:: Artificial Arrays
- < * Output formats:: Output formats
- < * Memory:: Examining Memory
- < * Auto Display:: Automatic Display
- < * Print Settings:: Print Settings
- < * Value History:: Value History
- < * Convenience Vars:: Convenience Variables
- < * Registers:: Registers
- < * Floating Point Hardware:: Floating Point Hardware
- ---
- > * Expressions:: Expressions
- > * Variables:: Program Variables
- > * Arrays:: Artificial Arrays
- > * Output formats:: Output formats
- > * Memory:: Examining Memory
- > * Auto Display:: Automatic Display
- > * Print Settings:: Print Settings
- > * Value History:: Value History
- > * Convenience Vars:: Convenience Variables
- > * Registers:: Registers
- > * Floating Point Hardware:: Floating Point Hardware
- 3004,3007c3036
- < by preprocessor @code{#define} commands, or C++ expressions involving
- < @samp{::}, the name resolution operator.
- < @c FIXME: actually C++ a::b works except in obscure circumstances where it
- < @c FIXME...can conflict with GDB's own name scope resolution.
- ---
- > by preprocessor @code{#define} commands.
- 3476c3505
- < 530 if (lquote != def_lquote)
- ---
- > 530 if (lquote != def_lquote)
- 3486c3515
- < 530 if (lquote != def_lquote)
- ---
- > 530 if (lquote != def_lquote)
- 3812c3841
- < Machine register contents can be referred to in expressions as variables
- ---
- > You can refer to machine register contents, in expressions, as variables
- 3820c3849,3856
- < Print the names and values of all registers (in the selected stack frame).
- ---
- > Print the names and values of all registers except floating-point
- > registers (in the selected stack frame).
- >
- > @item info all-registers
- > @kindex info all-registers
- > @cindex floating point registers
- > Print the names and values of all registers, including floating-point
- > registers.
- 3911c3947,4073
- < @node Symbols, Altering, Data, Top
- ---
- > @node Cplusplus, Symbols, Data, Top
- > @chapter C++ and _GDBN__
- >
- > @cindex C++
- > @kindex g++
- > @cindex GNU C++
- > _GDBN__ includes facilities to let you debug C++ programs naturally and
- > easily. The GNU C++ compiler and _GDBN__ implement the support for these
- > facilities together. Therefore, to debug your C++ code most
- > effectively, you must compile your C++ programs with the GNU C++
- > compiler, @code{g++}.
- >
- > @menu
- > * Cplusplus expressions:: C++ Expressions
- > * Cplusplus commands:: _GDBN__ Commands for C++
- > @end menu
- >
- > @node Cplusplus expressions, Cplusplus commands, Cplusplus, Cplusplus
- > @section C++ Expressions
- >
- > @cindex expressions in C++
- > Since C++ is closely related to C, all the facilities for evaluating C
- > expressions (@pxref{Expressions}) continue to work in C++. _GDBN__'s
- > expression handling also has the following extensions to interpret a
- > significant subset of C++ expressions:
- >
- > @enumerate
- >
- > @cindex member functions
- > @item
- > Member function calls are allowed; you can use expressions like
- > @example
- > count = aml->GetOriginal(x, y)
- > @end example
- >
- > @kindex this
- > @cindex namespace in C++
- > @item
- > While a member function is active (in the selected stack frame), your
- > expressions have the same namespace available as the member function;
- > that is, _GDBN__ allows implicit references to the class instance
- > pointer @code{this} following the same rules as C++.
- >
- > @cindex call overloaded functions
- > @cindex type conversions in C++
- > @item
- > You can call overloaded functions; _GDBN__ will resolve the function
- > call to the right definition, with one restriction---you must use
- > arguments of the type required by the function that you want to call.
- > _GDBN__ will not perform conversions requiring constructors or
- > user-defined type operators.
- >
- > @cindex reference declarations
- > @item
- > _GDBN__ understands variables declared as C++ references; you can use them in
- > expressions just as you do in C++ source---they are automatically
- > dereferenced.
- >
- > In the parameter list shown when _GDBN__ displays a frame, the values of
- > reference variables are not displayed (unlike other variables); this
- > avoids clutter, since references are often used for large structures.
- > The @emph{address} of a reference variable is always shown, unless
- > you've specified @samp{set print address off}.
- >
- >
- > @item
- > _GDBN__ supports the C++ name resolution operator @code{::}---your
- > expressions can use it just as expressions in your program do. _GDBN__
- > also allows resolving name scope by reference to source files, in both C
- > and C++ debugging; @pxref{Variables}.
- >
- > @end enumerate
- >
- > @node Cplusplus commands, , Cplusplus expressions, Cplusplus
- > @section _GDBN__ Commands for C++
- >
- > @cindex commands for C++
- > Some _GDBN__ commands are particularly useful with C++, and some are
- > designed specifically for use with C++. Here is a summary:
- >
- > @table @code
- > @cindex break in overloaded functions
- > @item @r{breakpoint menus}
- > When you want a breakpoint in a function whose name is overloaded,
- > _GDBN__'s breakpoint menus help you specify which function definition
- > you want. @xref{Breakpoint Menus}.
- >
- > @cindex overloading in C++
- > @item rbreak @var{regex}
- > Setting breakpoints using regular expressions is helpful for setting
- > breakpoints on overloaded functions that are not members of any special
- > classes.
- > @xref{Set Breaks}.
- >
- > @cindex C++ exception handling
- > @item catch @var{exceptions}
- > @itemx info catch
- > Debug C++ exception handling using these commands. @xref{Exception Handling}.
- >
- > @cindex inheritance
- > @item ptype @var{typename}
- > Print inheritance relationships as well as other information for type
- > @var{typename}.
- > @xref{Symbols}.
- >
- > @cindex C++ symbol display
- > @item set print demangle
- > @itemx show print demangle
- > @itemx set print asm-demangle
- > @itemx show print asm-demangle
- > Control whether C++ symbols display in their source form, both when
- > displaying code as C++ source and when displaying disassemblies.
- > @xref{Print Settings}.
- >
- > @item set print object
- > @itemx show print object
- > Choose whether to print derived (actual) or declared types of objects.
- > @xref{Print Settings}.
- >
- > @item set print vtbl
- > @itemx show print vtbl
- > Control the format for printing virtual function tables.
- > @xref{Print Settings}.
- >
- > @end table
- >
- > @node Symbols, Altering, Cplusplus, Top
- 3993,3996c4155,4156
- < debugging information, organized into two lists: those for which symbols
- < have been read in, and those for which symbols will be read in on
- < demand.
- < @c FIXME: above passive AND awkward!
- ---
- > debugging information, organized into two lists: files whose symbols
- > have already been read, and files whose symbols will be read when needed.
- 4036,4037c4196,4202
- < Write a complete dump of the debugger's symbol data into the
- < file @var{filename}.
- ---
- > Write a dump of debugging symbol data into the file
- > @var{filename}. Only symbols with debugging data are included. _GDBN__
- > includes all the symbols it already knows about: that is, @var{filename}
- > reflects symbols for only those files whose symbols _GDBN__ has read.
- > You can find out which files these are using the command @code{info
- > files}. The description of @code{symbol-file} describes how _GDBN__
- > reads symbols; both commands are described under @ref{Files}.
- 4054,4058c4219,4223
- < * Assignment:: Assignment to Variables
- < * Jumping:: Continuing at a Different Address
- < * Signaling:: Giving the Program a Signal
- < * Returning:: Returning from a Function
- < * Calling:: Calling your Program's Functions
- ---
- > * Assignment:: Assignment to Variables
- > * Jumping:: Continuing at a Different Address
- > * Signaling:: Giving the Program a Signal
- > * Returning:: Returning from a Function
- > * Calling:: Calling your Program's Functions
- 4248,4249c4413,4414
- < * Files:: Commands to Specify Files
- < * Symbol Errors:: Errors Reading Symbol Files
- ---
- > * Files:: Commands to Specify Files
- > * Symbol Errors:: Errors Reading Symbol Files
- 4385c4550
- < from the file @var{filename}. You would use this command when that file
- ---
- > from the file @var{filename}. You would use this command when @var{filename}
- 4448c4613
- < While a symbol file is being read, _GDBN__ will occasionally encounter
- ---
- > While reading a symbol file, _GDBN__ will occasionally encounter
- 4450,4454c4615,4622
- < compiler output. By default, it prints one message about each such
- < type of problem, no matter how many times the problem occurs. You can
- < ask it to print more messages, to see how many times the problems occur,
- < or can shut the messages off entirely, with the @code{set
- < complaints} command (@xref{Messages/Warnings}).
- ---
- > compiler output. By default, _GDBN__ does not notify you of such
- > problems, since they're relatively common and primarily of interest to
- > people debugging compilers. If you are interested in seeing information
- > about ill-constructed symbol tables, you can either ask _GDBN__ to print
- > only one message about each such type of problem, no matter how many
- > times the problem occurs; or you can ask _GDBN__ to print more messages,
- > to see how many times the problems occur, with the @code{set complaints}
- > command (@xref{Messages/Warnings}).
- 4491,4499d4658
- < @c @item{encountered DBX-style class variable debugging information.
- < @c You seem to have compiled your program with "g++ -g0" instead of "g++ -g".
- < @c Therefore _GDBN__ will not know about your class variables}
- < @c
- < @c This error indicates that the symbol information produced for a C++
- < @c program includes zero-size fields, which indicated static fields in
- < @c a previous release of the G++ compiler. This message is probably
- < @c obsolete.
- < @c
- 4557,4559c4716,4718
- < * Active Targets:: Active Targets
- < * Target Commands:: Commands for Managing Targets
- < * Remote:: Remote Debugging
- ---
- > * Active Targets:: Active Targets
- > * Target Commands:: Commands for Managing Targets
- > * Remote:: Remote Debugging
- 4738,4743c4897,4902
- < * Prompt:: Prompt
- < * Editing:: Command Editing
- < * History:: Command History
- < * Screen Size:: Screen Size
- < * Numbers:: Numbers
- < * Messages/Warnings:: Optional Warnings and Messages
- ---
- > * Prompt:: Prompt
- > * Editing:: Command Editing
- > * History:: Command History
- > * Screen Size:: Screen Size
- > * Numbers:: Numbers
- > * Messages/Warnings:: Optional Warnings and Messages
- 4957c5116
- < @node Messages/Warnings, , Numbers, Controlling _GDBN__
- ---
- > @node Messages/Warnings, , Numbers, Controlling _GDBN__
- 4988,4991c5147,5149
- < By default, if _GDBN__ encounters bugs in the symbol table of an object file,
- < it prints a single message about each type of problem it finds, then
- < shuts up (@pxref{Symbol Errors}). You can suppress these messages, or allow more than one such
- < message to be printed if you want to see how frequent the problems are.
- ---
- > By default, if _GDBN__ encounters bugs in the symbol table of an object
- > file, it is silent; but if you are debugging a compiler, you may find
- > this information useful (@pxref{Symbol Errors}).
- 5033a5192,5219
- > @c FIXME this doesn't really belong here. But where *does* it belong?
- > @cindex reloading symbols
- > Some systems allow individual object files that make up your program to
- > be replaced without stopping and restarting your program.
- > _if__(_VXWORKS__)
- > For example, in VxWorks you can simply recompile a defective object file
- > and keep on running.
- > _fi__(_VXWORKS__)
- > If you're running on one of these systems, you can allow _GDBN__ to
- > reload the symbols for automatically relinked modules:@refill
- > @table @code
- > @kindex set symbol-reloading
- > @item set symbol-reloading on
- > Replace symbol definitions for the corresponding source file when an
- > object file with a particular name is seen again.
- >
- > @item set symbol-reloading off
- > Don't replace symbol definitions when re-encountering object files of
- > the same name. This is the default state; if you're not running on a
- > system that permits automatically relinking modules, you should leave
- > @code{symbol-reloading} off, since otherwise _GDBN__ may discard symbols
- > when linking large programs, that may contain several modules (from
- > different directories or libraries) with the same name.
- >
- > @item show symbol-reloading
- > Show the current @code{on} or @code{off} setting.
- > @end table
- >
- 5042,5044c5228,5230
- < * Define:: User-Defined Commands
- < * Command Files:: Command Files
- < * Output:: Commands for Controlled Output
- ---
- > * Define:: User-Defined Commands
- > * Command Files:: Command Files
- > * Output:: Commands for Controlled Output
- 5392,5393c5578,5579
- < * Bug Criteria:: Have You Found a Bug?
- < * Bug Reporting:: How to Report Bugs
- ---
- > * Bug Criteria:: Have You Found a Bug?
- > * Bug Reporting:: How to Report Bugs
- 5597c5783
- < @include rdl-apps.texinfo
- ---
- > @include rdl-apps.texi
- 5716,5718c5902,5904
- < _GDBN__ is distributed with a @code{configure} script that automates the
- < process of preparing _GDBN__ for installation; you can then use
- < @code{make} to build the @code{_GDBP__} program.
- ---
- > _GDBN__ comes with a @code{configure} script that automates the process
- > of preparing _GDBN__ for installation; you can then use @code{make} to
- > build the @code{_GDBP__} program.
- 5720,5732c5906,5909
- < The @code{configure} script that's specific to _GDBN__ is distributed in
- < the main _GDBN__ source directory. However, building _GDBN__ also
- < requires several other directories of source common to multiple @sc{gnu}
- < programs. These directories (@sc{gnu} libraries and includes) are
- < distributed separately, but their @code{configure} scripts and
- < @code{Makefile}s are designed to work together. To ensure that
- < _GDBN__'s @code{Makefile} can find all the pieces, you should make a
- < single overall directory to hold the directories of source for @sc{gnu}
- < libraries and includes, and you should install the _GDBN__ source
- < directory there too. In this Appendix, we refer to the directory of
- < @sc{gnu} source directories as @var{gnusrc}.
- <
- < At a minimum, to build _GDBN__ you need the directories
- ---
- > The _GDBP__ distribution includes all the source code you need for
- > _GDBP__ in a single directory @file{gdb-4.0}. That directory in turn
- > contains:
- >
- 5734c5911,5914
- < @item @var{gnusrc}/gdb
- ---
- > @item gdb-4.0/configure
- > Overall script for configuring _GDBN__ and all its supporting libraries.
- >
- > @item gdb-4.0/gdb
- 5737c5917
- < @item @var{gnusrc}/bfd
- ---
- > @item gdb-4.0/bfd
- 5740,5741c5920,5921
- < @item @var{gnusrc}/include
- < @sc{gnu} include files
- ---
- > @item gdb-4.0/include
- > GNU include files
- 5743c5923
- < @item @var{gnusrc}/libiberty
- ---
- > @item gdb-4.0/libiberty
- 5746,5747c5926,5927
- < @item @var{gnusrc}/readline
- < source for the @sc{gnu} command-line interface
- ---
- > @item gdb-4.0/readline
- > source for the GNU command-line interface
- 5750,5756c5930,5935
- < Each of these directories has its own @code{configure} script.
- < @var{gnusrc} has an overall @code{configure} script, which is
- < distributed with the @sc{gnu} libraries and includes.
- <
- < @code{configure} is designed to be called recursively, so it is most
- < convenient to run @code{configure} from the @var{gnusrc} directory.
- < The simplest way to configure and build _GDBN__ is the following:
- ---
- > Each of these directories has its own @code{configure} script, which are
- > used by the overall @code{configure} script in @file{gdb-4.0}.
- >
- > It is most convenient to run @code{configure} from the @file{gdb-4.0}
- > directory. The simplest way to configure and build _GDBN__ is the
- > following:
- 5758c5937
- < cd @var{gnusrc}
- ---
- > cd gdb-4.0
- 5763c5942
- < where @var{host} is something like @samp{sun4} or @samp{vax}, that
- ---
- > where @var{host} is something like @samp{sun4} or @samp{decstation}, that
- 5776,5778c5955,5958
- < * Subdirectories:: Configuration subdirectories
- < * configure Options:: Summary of options for configure
- < * Formatting Manual:: How to format and print this manual
- ---
- > * Subdirectories:: Configuration subdirectories
- > * Config Names:: Specifying names for hosts and targets
- > * configure Options:: Summary of options for configure
- > * Formatting Manual:: How to format and print _GDBN__ documentation
- 5782c5962
- < @node Subdirectories, configure Options, Installing _GDBN__, Installing _GDBN__
- ---
- > @node Subdirectories, Config Names, Installing _GDBN__, Installing _GDBN__
- 5784,5792c5964,5976
- < If you build _GDBN__ for several host or target machines, and if
- < your @code{make} program handles the @samp{VPATH} feature
- < (@sc{gnu} @code{make} does), it is most convenient instead to build
- < the different _GDBN__ configurations in subdirectories (separate from
- < the source). @code{configure} does this for you when you simultaneously
- < specify several configurations; but it's a good habit even for a single
- < configuration. You can specify the use of subdirectories using the
- < @samp{+forcesubdirs} option (abbreviated @samp{+f}). For example, you
- < can build _GDBN__ on a Sun 4 as follows:
- ---
- > If you want to run _GDBN__ versions for several host or target machines,
- > you'll need a different _GDBP__ compiled for each combination of host
- > and target. @code{configure} is designed to make this easy by allowing
- > you to generate each configuration in a separate subdirectory. If your
- > @code{make} program handles the @samp{VPATH} feature (GNU @code{make}
- > does), running @code{make} in each of these directories then builds the
- > _GDBP__ program specified there.
- >
- > @code{configure} creates these subdirectories for you when you
- > simultaneously specify several configurations; but it's a good habit
- > even for a single configuration. You can specify the use of
- > subdirectories using the @samp{+subdirs} option (abbreviated
- > @samp{+sub}). For example, you can build _GDBN__ on a Sun 4 as follows:
- 5796,5798c5980,5982
- < cd @var{gnusrc}
- < ./configure +f sun4
- < cd Host-sun4/Target-sun4
- ---
- > cd gdb-4.0
- > ./configure +sub sun4
- > cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
- 5805,5814c5989,6002
- < @file{Host-@var{host}/Target-@var{machine}}. This is because _GDBN__
- < can be configured for cross-compiling: _GDBN__ can run on one machine
- < (the host) while debugging programs that run on another machine (the
- < target). You specify cross-debugging targets by giving the
- < @samp{+target=@var{machine}} option to @code{configure}. Specifying
- < only hosts still gives you two levels of subdirectory for each host,
- < with the same machine-name suffix on both. On the other hand, whenever
- < you specify both hosts and targets on the same command line,
- < @code{configure} creates all combinations of the hosts and targets you
- < list.@refill
- ---
- > @file{Host-@var{host}/Target-@var{target}}. (As you see in the example,
- > the names used for @var{host} and @var{target} may be expanded from your
- > @code{configure} argument; @pxref{Config Names}). @code{configure} uses
- > these two directory levels because _GDBN__ can be configured for
- > cross-compiling: _GDBN__ can run on one machine (the host) while
- > debugging programs that run on another machine (the target). You
- > specify cross-debugging targets by giving the
- > @samp{+target=@var{target}} option to @code{configure}. Specifying only
- > hosts still gives you two levels of subdirectory for each host, with the
- > same configuration suffix on both; that is, if you give any number of
- > hosts but no targets, _GDBN__ will be configured for native debugging on
- > each host. On the other hand, whenever you specify both hosts and
- > targets on the same command line, @code{configure} creates all
- > combinations of the hosts and targets you list.@refill
- 5819c6007
- < If you have @file{Host-@var{host}/Target-@var{machine}} subdirectories,
- ---
- > If you have @file{Host-@var{host}/Target-@var{target}} subdirectories,
- 5823,5824c6011,6012
- < runs recursively, so that typing @code{make} in @var{gnusrc} (or in a
- < @file{@var{gnusrc}/Host-@var{host}/Target-@var{machine}} subdirectory)
- ---
- > runs recursively, so that typing @code{make} in @file{gdb-4.0} (or in a
- > @file{gdb-4.0/Host-@var{host}/Target-@var{target}} subdirectory)
- 5827c6015
- < If you run @code{configure} from a directory (such as @var{gnusrc}) that
- ---
- > If you run @code{configure} from a directory (such as @file{gdb-4.0}) that
- 5829c6017
- < @code{configure} creates the @file{Host-@var{host}/Target-@var{machine}}
- ---
- > @code{configure} creates the @file{Host-@var{host}/Target-@var{target}}
- 5833,5834c6021,6022
- < cd @var{gnusrc}
- < configure sun4 +target=vx960
- ---
- > cd gdb-4.0
- > configure sun4 +target=vxworks960
- 5838,5849c6026,6044
- < @example
- < @var{gnusrc}/Host-sun4/Target-vx960
- < @var{gnusrc}/bfd/Host-sun4/Target-vx960
- < @var{gnusrc}/gdb/Host-sun4/Target-vx960
- < @var{gnusrc}/libiberty/Host-sun4/Target-vx960
- < @var{gnusrc}/readline/Host-sun4/Target-vx960
- < @end example
- < @noindent
- < The @code{Makefile} in @file{@var{gnusrc}/Host-sun4/Target-vx960}
- < will @code{cd} to the appropriate lower-level directories
- < (such as @file{@var{gnusrc}/bfd/Host-sun4/Target-vx960}), building each
- < in turn.
- ---
- > @smallexample
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > @end smallexample
- > @noindent
- > The @code{Makefile} in
- > @smallexample
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > @end smallexample
- > @noindent
- > will @code{cd} to the appropriate lower-level directories, for example:
- > @smallexample
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > @end smallexample
- > @noindent
- > building each in turn.
- 5855c6050,6177
- < @node configure Options, Formatting Manual, Subdirectories, Installing _GDBN__
- ---
- > @node Config Names, configure Options, Subdirectories, Installing _GDBN__
- > @section Specifying Names for Hosts and Targets
- >
- > The specifications used for hosts and targets in the @code{configure}
- > script are based on a three-part naming scheme, but some short predefined
- > aliases are also supported. The full naming scheme encodes three pieces
- > of information in the following pattern:
- > @example
- > @var{architecture}-@var{vendor}-@var{os}
- > @end example
- >
- > For example, you can use the alias @code{sun4} as a @var{host} argument
- > or in a @code{+target=}@var{target} option, but the full name of that
- > configuration specifies that the architecture is @samp{sparc}, the
- > vendor is @samp{sun}, and the operating system is @samp{sunos4}.
- >
- > @iftex
- > @c I know this is ugly, but @group is useless except in examples now...
- > @c (using texinfo 2.52 or so)
- > @page
- > @end iftex
- >
- > The following table shows all the architectures, hosts, and OS prefixes
- > that @code{configure} recognizes in _GDBN__ 4.0. Entries in the ``OS
- > prefix'' column ending in a @samp{*} may be followed by a release number.
- >
- > @ifinfo
- > @example
- >
- > ARCHITECTURE VENDOR OS prefix
- > ------------+-------------+-------------
- > | |
- > a29k | altos | aix*
- > alliant | aout | aout
- > arm | apollo | bout
- > c1 | att | bsd*
- > c2 | bout | coff
- > i386 | coff | ctix*
- > i860 | convergent | dynix*
- > i960 | convex | esix*
- > m68000 | dec | hpux*
- > m68k | encore | isc*
- > m88k | gould | mach*
- > mips | hp | newsos*
- > ns32k | ibm | nindy*
- > pyramid | intel | none
- > rs6000 | isi | osf*
- > rtpc | little | sco*
- > sparc | mips | sunos*
- > tahoe | motorola | sysv*
- > tron | ncr | ultrix*
- > vax | next | unos*
- > | none | v88r*
- > | sco | vms*
- > | sequent | vxworks*
- > | sgi |
- > | sony |
- > | sun |
- > | unicom |
- > | utek |
- > | wrs |
- >
- > @end example
- > @end ifinfo
- > @tex
- > \vskip \parskip\vskip \baselineskip
- > \halign{\hskip\parindent\tt #\hfil &\qquad#&\tt #\hfil &\qquad#&\tt #\hfil\cr
- > {\bf Architecture} &&{\bf Vendor} &&{\bf OS prefix}\cr
- > \noalign{\hrule}
- > \cr
- > a29k &&altos &&aix*\cr
- > alliant &&aout &&aout\cr
- > arm &&apollo &&bout\cr
- > c1 &&att &&bsd*\cr
- > c2 &&bout &&coff\cr
- > i386 &&coff &&ctix*\cr
- > i860 &&convergent &&dynix*\cr
- > i960 &&convex &&esix*\cr
- > m68000 &&dec &&hpux*\cr
- > m68k &&encore &&isc*\cr
- > m88k &&gould &&mach*\cr
- > mips &&hp &&newsos*\cr
- > ns32k &&ibm &&nindy*\cr
- > pyramid &&intel &&none\cr
- > rs6000 &&isi &&osf*\cr
- > rtpc &&little &&sco*\cr
- > sparc &&mips &&sunos*\cr
- > tahoe &&motorola &&sysv*\cr
- > tron &&ncr &&ultrix*\cr
- > vax &&next &&unos*\cr
- > &&none &&v88r*\cr
- > &&sco &&vms*\cr
- > &&sequent &&vxworks*\cr
- > &&sgi \cr
- > &&sony \cr
- > &&sun \cr
- > &&unicom \cr
- > &&utek \cr
- > &&wrs \cr
- > }
- > @end tex
- > @quotation
- > @emph{Warning:} Many combinations of architecture, vendor, and OS are
- > untested.
- > @end quotation
- >
- > The @code{configure} script accompanying _GDBN__ 4.0 does not provide
- > any query facility to list all supported host and target names or
- > aliases. @code{configure} calls the Bourne shell script
- > @code{config.sub} to map abbreviations to full names; you can read the
- > script, if you wish, or you can use it to test your guesses on
- > abbreviations---for example:
- > @example
- > % sh config.sub sun4
- > sparc-sun-sunos4
- > % sh config.sub sun3
- > m68k-sun-sunos4
- > % sh config.sub decstation
- > mips-dec-ultrix
- > % sh config.sub hp300bsd
- > m68k-hp-bsd
- > % sh config.sub i386v
- > i386-none-sysv
- > % sh config.sub i486v
- > *** No vendor: configuration `i486v' not recognized
- > @end example
- >
- > @node configure Options, Formatting Manual, Config Names, Installing _GDBN__
- 5862,5863c6184,6185
- < configure @r{[}+destdir=@var{dir}@r{]} @r{[}+forcesubdirs@r{]} @r{[}+norecur@r{]} @r{[}+rm@r{]}
- < @r{[}+target=@var{machine}@dots{}@r{]} @var{host}@dots{}
- ---
- > configure @r{[}+destdir=@var{dir}@r{]} @r{[}+subdirs@r{]} @r{[}+norecur@r{]} @r{[}+rm@r{]}
- > @r{[}+target=@var{target}@dots{}@r{]} @var{host}@dots{}
- 5867c6189,6190
- < @samp{+} if you prefer; but options introduced with @samp{+} may be truncated.
- ---
- > @samp{+} if you prefer; but you may abbreviate option names if you use
- > @samp{+}.
- 5877c6200
- < @item +forcesubdirs
- ---
- > @item +subdirs
- 5880c6203
- < Host-@var{machine}/Target-@var{machine}
- ---
- > Host-@var{host}/Target-@var{target}
- 5887c6210
- < more than one @var{host} or more than one @samp{+target=@var{machine}}
- ---
- > more than one @var{host} or more than one @samp{+target=@var{target}}
- 5895c6218
- < Remove the configuration specified by other arguments.
- ---
- > Remove the configuration that the other arguments specify.
- 5897c6220
- < @item +target=@var{machine} @dots{}
- ---
- > @item +target=@var{target} @dots{}
- 5899,5903c6222,6226
- < @var{machine}. You may specify as many @samp{+target} options as you
- < wish. To see a list of available targets, execute @samp{ls tconfig} in
- < the _GDBN__ source directory. Without this option, _GDBN__ is
- < configured to debug programs that run on the same machine (@var{host})
- < as _GDBN__ itself.
- ---
- > @var{target}. You may specify as many @samp{+target} options as you
- > wish. Without this option, _GDBN__ is configured to debug programs that
- > run on the same machine (@var{host}) as _GDBN__ itself.
- >
- > There is no convenient way to generate a list of all available targets.
- 5907,5908c6230,6232
- < many host names as you wish. To see a list of available hosts, execute
- < @samp{ls xconfig} in the _GDBN__ source directory.
- ---
- > many host names as you wish.
- >
- > There is no convenient way to generate a list of all available hosts.
- 5913c6237
- < configuring other @sc{gnu} tools recursively; but these are the only
- ---
- > configuring other GNU tools recursively; but these are the only
- 5919,5920c6243,6250
- < To format the _GDBN__ manual as an Info file, you need the @sc{gnu}
- < @code{makeinfo} program. Once you have it, you can type
- ---
- > The _GDBN__ 4.0 release includes the Info version of this manual already
- > formatted: the main Info file is @file{gdb-4.0/gdb/gdb.info}, and it
- > refers to subordinate files matching @samp{gdb.info*} in the same
- > directory.
- >
- > If you want to make these Info files yourself from the _GDBN__ manual's
- > source, you need the GNU @code{makeinfo} program. Once you have it, you
- > can type
- 5922c6252
- < cd @var{gnusrc}/gdb
- ---
- > cd gdb-4.0/gdb
- 5936c6266
- < @file{@var{gnusrc}/texinfo}: @TeX{} macros defining the @sc{gnu}
- ---
- > @file{gdb-4.0/texinfo}: @TeX{} macros defining the GNU
- 5948c6278
- < cd @var{gnusrc}/gdb
- ---
- > cd gdb-4.0/gdb
- 5953a6284,6307
- >
- > @cindex _GDBN__ reference card
- > @cindex reference card
- > You might also want hard copy of the _GDBN__ reference card. The
- > _GDBN__ 4.0 release includes an already-formatted reference card, ready
- > for printing on a PostScript printer, as @file{gdb-4.0/gdb/refcard.ps}.
- > It uses the most common PostScript fonts: the Times family, Courier, and
- > Symbol. If you have a PostScript printer you can print the reference
- > card by just sending @file{refcard.ps} to the printer.
- >
- > If you have some other kind of printer, or want to print using Computer
- > Modern fonts instead, you can still print the reference card if you have
- > @TeX{}. Format the reference card by typing
- > @example
- > cd gdb-4.0/gdb
- > make refcard.dvi
- > @end example
- > @noindent
- >
- > The _GDBN__ reference card is designed to print in landscape mode on US
- > ``letter'' size paper; that is, on a sheet 11 inches wide by 8.5 inches
- > high. You will need to specify this form of printing as an option to
- > your @sc{dvi} output program.
- >
- diff -r gdb-3.98/gdb/doc/gdbint.texinfo gdb-4.0/gdb/doc/gdbint.texinfo
- 2,3c2,3
- < @setfilename gdb-internals
- < @c $Id: gdbint.texinfo,v 1.11 1991/07/22 18:19:17 pesch Exp $
- ---
- > @setfilename gdbint.info
- > @c $Id: gdbint.texinfo,v 1.16 1991/08/24 00:43:28 pesch Exp $
- 26c26
- < @setchapternewpage odd
- ---
- > @setchapternewpage off
- 36c36
- < \xdef\manvers{\$Revision: 1.11 $} % For use in headers, footers too
- ---
- > \xdef\manvers{\$Revision: 1.16 $} % For use in headers, footers too
- 60a61,64
- > * Host:: Adding a New Host
- > * Target:: Adding a New Target
- > * Config:: Extending @code{configure}
- > * BFD support for GDB:: How BFD and GDB interface
- 70c74
- < later. When your code does something (like malloc some memory, or open
- ---
- > later. When your code does something (like @code{malloc} some memory, or open
- 82,88c86,91
- < @item old_chain = make_cleanup (function, arg);
- < This makes a cleanup which will cause FUNCTION to be called with ARG
- < (a char *) later. The result, OLD_CHAIN, is a handle that can be
- < passed to do_cleanups or discard_cleanups later. Unless you are
- < going to call do_cleanups or discard_cleanups yourself,
- < you can ignore the result from make_cleanup.
- <
- ---
- > @item @var{old_chain} = make_cleanup (@var{function}, @var{arg});
- > Make a cleanup which will cause @var{function} to be called with @var{arg}
- > (a @code{char *}) later. The result, @var{old_chain}, is a handle that can be
- > passed to @code{do_cleanups} or @code{discard_cleanups} later. Unless you are
- > going to call @code{do_cleanups} or @code{discard_cleanups} yourself,
- > you can ignore the result from @code{make_cleanup}.
- 90,93c93,103
- < @item do_cleanups (old_chain);
- < Performs all cleanups done since make_cleanup returned OLD_CHAIN.
- < E.g.: make_cleanup (a, 0); old = make_cleanup (b, 0); do_cleanups (old);
- < will call b() but will not call a(). The cleanup that calls a() will remain
- ---
- >
- > @item do_cleanups (@var{old_chain});
- > Perform all cleanups done since @code{make_cleanup} returned @var{old_chain}.
- > E.g.:
- > @example
- > make_cleanup (a, 0);
- > old = make_cleanup (b, 0);
- > do_cleanups (old);
- > @end example
- > @noindent
- > will call @code{b()} but will not call @code{a()}. The cleanup that calls @code{a()} will remain
- 96,97c106,107
- < @item discard_cleanups (old_chain);
- < Same as do_cleanups except that it just removes the cleanups from the
- ---
- > @item discard_cleanups (@var{old_chain});
- > Same as @code{do_cleanups} except that it just removes the cleanups from the
- 112,113c122,123
- < Output that goes through printf_filtered or fputs_filtered or
- < fputs_demangled needs only to have calls to wrap_here() added
- ---
- > Output that goes through @code{printf_filtered} or @code{fputs_filtered} or
- > @code{fputs_demangled} needs only to have calls to @code{wrap_here} added
- 117,120c127,130
- < The argument to wrap_here() is an indentation string which is printed
- < ONLY if the line breaks there. This argument is saved away and used
- < later. It must remain valid until the next call to wrap_here() or
- < until a newline has been printed through the *_filtered functions.
- ---
- > The argument to @code{wrap_here} is an indentation string which is printed
- > @emph{only} if the line breaks there. This argument is saved away and used
- > later. It must remain valid until the next call to @code{wrap_here} or
- > until a newline has been printed through the @code{*_filtered} functions.
- 172c182
- < @node New Architectures, Host versus Target, README, Top
- ---
- > @node New Architectures, Host, README, Top
- 182c192,196
- < = }@dots{}. You can also define XXXXXX in there.
- ---
- > = }@dots{}. The header file that defines the host system should be
- > called xm-@var{ARCH}.h, and should be specified as the value of @samp{XM_FILE=}
- > in @file{xconfig/@var{ARCH}}.
- > You can also define @samp{CC}, @samp{REGEX} and @samp{REGEX1},
- > @samp{SYSV_DEFINE}, @samp{XM_CFLAGS}, etc in there; see @file{Makefile.in}.
- 217,219c231,237
- < Files needed when the target system is an @var{ARCH} are listed in the file
- < @file{tconfig/@var{ARCH}}, in the @code{Makefile} macro @samp{TDEPFILES = }@dots{}. You can also
- < define XXXXXX in there.
- ---
- > Object files needed when the target system is an @var{ARCH} are listed in
- > the file @file{tconfig/@var{ARCH}}, in the Makefile macro @samp{TDEPFILES
- > = }@dots{}. The header file that defines the target system should be
- > called tm-@var{ARCH}.h, and should be specified as the value of @samp{TM_FILE}
- > in @file{tconfig/@var{ARCH}}.
- > You can also define @samp{TM_CFLAGS}, @samp{TM_CLIBS}, and @samp{TM_CDEPS}
- > in there; see @file{Makefile.in}.
- 233c251,469
- < @node Host versus Target, Symbol Reading, New Architectures, Top
- ---
- > @node Host, Target, New Architectures, Top
- > @chapter Adding a New Host
- >
- > There are two halves to making GDB work on a new machine. First,
- > you have to make it host on the new machine (compile there, handle
- > that machine's terminals properly, etc). If you will be cross-debugging
- > to some other kind of system, you are done.
- >
- > (If you want to use GDB to debug programs that run on the new machine,
- > you have to get it to understand the machine's object files, symbol
- > files, and interfaces to processes. @pxref{Target}.)
- >
- > Most of the work in making GDB compile on a new machine is in specifying
- > the configuration of the machine. This is done in a dizzying variety
- > of header files and configuration scripts, which we hope to make more
- > sensible soon. Let's say your new host is called an XXX (e.g. sun4),
- > and its full three-part configuration name is XARCH-XVEND-XOS (e.g.
- > sparc-sun-sunos4). In particular:
- >
- > At the top level, edit @file{config.sub} and add XARCH, XVEND, and
- > XOS to the lists of supported architectures, vendors, and operating systems
- > near the bottom of the file. Also, add XXX as an alias that maps to
- > XARCH-XVEND-XOS. You can test your changes by running
- >
- > @example
- > ./config.sub XXX
- > @end example
- > @noindent
- > and
- > @example
- > ./config.sub XARCH-XVEND-XOS
- > @end example
- > @noindent
- > which should both respond with XARCH-XVEND-XOS and no error messages.
- >
- > Then edit @file{include/sysdep.h}. Add a new #define for XXX_SYS, with
- > a numeric value not already in use. Add a new section that says
- >
- > @example
- > #if HOST_SYS==XXX_SYS
- > #include <sys/h-XXX.h>
- > #endif
- > @end example
- >
- > Now create a new file @file{include/sys/h-XXX.h}. Examine the other
- > h-*.h files as templates, and create one that brings in the right include
- > files for your system, and defines any host-specific macros needed by
- > GDB.
- >
- > Now, go to the bfd directory and edit @file{bfd/configure.in}. Add shell
- > script code to recognize your XARCH-XVEND-XOS configuration, and set
- > bfd_host to XXX when you recognize it. Now create a file
- > @file{bfd/config/hmake-XXX}, which includes the line:
- >
- > @example
- > HDEFINES=-DHOST_SYS=XXX_SYS
- > @end example
- >
- > (If you have the binutils in the same tree, you'll have to do the same
- > thing to in the binutils directory as you've done in the bfd directory.)
- >
- > It's likely that the libiberty and readline directories won't need any
- > changes for your configuration, but if they do, you can change the
- > @file{configure.in} file there to recognize your system and map to an
- > hmake-XXX file. Then add @file{hmake-XXX} to the @file{config/} subdirectory,
- > to set any makefile variables you need. The only current options
- > in there are things like -DSYSV.
- >
- > Aha! Now to configure GDB itself! Modify @file{gdb/configure.in} to
- > recognize your system and set gdb_host to XXX. Add a file
- > @file{gdb/xconfig/XXX} which specifies XDEPFILES=(whatever is needed),
- > and XM_FILE= xm-XXX.h. Create @file{gdb/xm-XXX.h} with the appropriate
- > #define's for your system (crib from existing xm-*.h files).
- > If your machine needs custom support routines, you can put them in
- > a file @file{gdb/XXX-xdep.c}, and add XXX-xdep.o to the XDEPFILES=
- > line. If not, you can use the generic routines for ptrace support
- > (infptrace.o) and core files (coredep.o). These can be customized
- > in various ways by macros defined in your @file{xm-XXX.h} file.
- >
- > Now, from the top level (above bfd, gdb, etc), run:
- >
- > @example
- > ./configure -template=./configure
- > @end example
- >
- > This will rebuild all your configure scripts, using the new
- > configure.in files that you modified. (You can also run this command
- > at any subdirectory level.) You are now ready to try configuring
- > GDB to compile for your system. Do:
- >
- > @example
- > ./configure XXX +target=vxworks960
- > @end example
- >
- > This will configure your system to cross-compile for VxWorks on
- > the Intel 960, which is probably not what you really want, but it's
- > a test case that works at this stage. (You haven't set up to be
- > able to debug programs that run @emph{on} XXX yet.)
- >
- > If this succeeds, you can try building it all with:
- >
- > @example
- > make
- > @end example
- >
- > Good luck! Comments and suggestions about this section are particularly
- > welcome; send them to bug-gdb@@prep.ai.mit.edu.
- >
- > When hosting GDB on a new operating system, to make it possible
- > to debug core files, you will need to either
- > write specific code for parsing your OS's core files, or customize
- > bfd/trad-core.c. First, use whatever #include files your machine uses
- > to define the struct of registers that is accessible (possibly in the
- > upage) in a core file (rather than <machine/reg.h>), and an include
- > file that defines whatever header exists on a core file (e.g. the
- > u-area or a "struct core"). Then modify @samp{trad_unix_core_file_p}
- > to use these values to set up the section information for the data
- > segment, stack segment, any other segments in the core file (perhaps
- > shared library contents or control information), "registers" segment,
- > and if there are two discontiguous sets of registers (e.g. integer and
- > float), the "reg2" segment. This section information basically
- > delimits areas in the core file in a standard way, which the
- > section-reading routines in BFD know how to seek around in.
- >
- > Then back in GDB, you need a matching routine called fetch_core_registers.
- > If you can use the generic one, it's in core-dep.c; if not, it's in
- > your foobar-xdep.c file. It will be passed a char pointer
- > to the entire "registers" segment, its length, and a zero; or a char
- > pointer to the entire "regs2" segment, its length, and a 2. The
- > routine should suck out the supplied register values and install them into
- > gdb's "registers" array. (@xref{New Architectures}
- > for more info about this.)
- >
- > @node Target, Config, Host, Top
- > @chapter Adding a New Target
- >
- > When adding support for a new target machine, there are various areas
- > of support that might need change, or might be OK.
- >
- > If you are using an existing object file format (a.out or COFF),
- > there is probably little to be done. See @file{bfd/doc/bfd.texinfo}
- > for more information on writing new a.out or COFF versions.
- >
- > If you need to add a new object file format, you are beyond the scope
- > of this document right now. Look at the structure of the a.out
- > and COFF support, build a transfer vector (xvec) for your new format,
- > and start populating it with routines. Add it to the list in
- > @file{bfd/targets.c}.
- >
- > If you are adding a new existing CPU chip (e.g. m68k family), you'll
- > need to define an XARCH-opcode.h file, a tm-XARCH.h file that gives
- > the basic layout of the chip (registers, stack, etc), probably
- > an XARCH-tdep.c file that has support routines for tm-XARCH.h, etc.
- >
- > If you are adding a new operating system for an existing CPU chip,
- > add a tm-XOS.h file that describes the operating system facilities
- > that are unusual (extra symbol table info; the breakpoint
- > instruction needed; etc). Then write a @file{tm-XARCH-XOS.h}
- > that just #include's tm-XARCH.h and tm-XOS.h. (Now that we have
- > three-part configuration names, this will probably get revised to
- > separate the OS configuration from the ARCH configuration. FIXME.)
- >
- > @node Config, BFD support for GDB, Target, Top
- > @chapter Extending @code{configure}
- > Once you have added a new host, target, or both, you'll also need to
- > extend the @code{configure} script to recognize the new configuration
- > possibilities.
- >
- > You shouldn't edit the @code{configure} script itself to add hosts or
- > targets; instead, edit the script fragments in the file
- > @code{configure.in}. To handle new hosts, modify the segment after the
- > comment @samp{# per-host}; to handle new targets, modify after @samp{#
- > per-target}.
- > @c Would it be simpler to just use different per-host and per-target
- > @c *scripts*, and call them from {configure} ?
- >
- > Then fold your changes into the @code{configure} script by using the
- > @code{+template} option, and specifying @code{configure} itself as the
- > template:
- > @example
- > configure +template=configure
- > @end example
- > @c If "configure" is the only workable option value for +template, it's
- > @c kind of silly to insist that it be provided. If it isn't, somebody
- > @c please fill in here what are others... (then delete this comment!)
- >
- > @node BFD support for GDB, Host versus Target, Config, Top
- > @chapter Binary File Descriptor library support for GDB
- >
- > BFD provides support for GDB in several ways:
- >
- > @table @emph
- > @item identifying executable and core files
- > BFD will identify a variety of file types, including a.out, coff, and
- > several variants thereof, as well as several kinds of core files.
- >
- > @item access to sections of files
- > BFD parses the file headers to determine the names, virtual addresses,
- > sizes, and file locations of all the various named sections in files
- > (such as the text section or the data section). GDB simply calls
- > BFD to read or write section X at byte offset Y for length Z.
- >
- > @item specialized core file support
- > BFD provides routines to determine the failing command name stored
- > in a core file, the signal with which the program failed, and whether
- > a core file matches (i.e. could be a core dump of) a particular executable
- > file.
- >
- > @item locating the symbol information
- > GDB uses an internal interface of BFD to determine where to find the
- > symbol information in an executable file or symbol-file. GDB itself
- > handles the reading of symbols, since BFD does not ``understand'' debug
- > symbols, but GDB uses BFD's cached information to find the symbols,
- > string table, etc.
- > @end table
- >
- > The interface for symbol reading is described in @xref{Symbol Reading}.
- >
- > @node Host versus Target, Symbol Reading, BFD support for GDB, Top
- Only in gdb-3.98/gdb/doc: gdbrc.dvi
- Only in gdb-3.98/gdb/doc: gdbrc.log
- Only in gdb-3.98/gdb/doc: gdbrc.tex
- Only in gdb-4.0/gdb/doc: rc-cm.tex
- Only in gdb-4.0/gdb/doc: rc-ps.tex
- Only in gdb-4.0/gdb/doc: rc-pslong.tex
- Only in gdb-4.0/gdb/doc: rcfonts.tex
- Only in gdb-4.0/gdb/doc: rdl-apps.texi
- Only in gdb-4.0/gdb/doc: refcard.tex
- diff -r gdb-3.98/gdb/exec.c gdb-4.0/gdb/exec.c
- 49d48
- < extern void add_syms_addr_command ();
- 56,59d54
- < /* The base and bounds of the table of the exec file's sections. */
- <
- < struct section_table *exec_sections, *exec_sections_end;
- <
- 72a68,72
- > if (exec_ops.sections) {
- > free (exec_ops.sections);
- > exec_ops.sections = NULL;
- > exec_ops.sections_end = NULL;
- > }
- 137c137,138
- < if (build_section_table (exec_bfd, &exec_sections, &exec_sections_end))
- ---
- > if (build_section_table (exec_bfd, &exec_ops.sections,
- > &exec_ops.sections_end))
- 185a187
- > (*table_pp)->bfd = abfd;
- 215c217
- < Args are address within exec file, address within gdb address-space,
- ---
- > Args are address within a BFD file, address within gdb address-space,
- 232c234
- < xfer_memory (memaddr, myaddr, len, write, abfd, sections, sections_end)
- ---
- > xfer_memory (memaddr, myaddr, len, write, target)
- 237,238c239
- < bfd *abfd;
- < struct section_table *sections, *sections_end;
- ---
- > struct target_ops *target;
- 252c253
- < for (p = sections; p < sections_end; p++)
- ---
- > for (p = target->sections; p < target->sections_end; p++)
- 258c259
- < res = xfer_fn (abfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
- ---
- > res = xfer_fn (p->bfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
- 270c271
- < res = xfer_fn (abfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
- ---
- > res = xfer_fn (p->bfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
- 283,296d283
- < /* The function called by target_xfer_memory via our target_ops */
- <
- < int
- < exec_xfer_memory (memaddr, myaddr, len, write)
- < CORE_ADDR memaddr;
- < char *myaddr;
- < int len;
- < int write;
- < {
- < return xfer_memory (memaddr, myaddr, len, write,
- < exec_bfd, exec_sections, exec_sections_end);
- < }
- <
- <
- 319c306
- < for (p = exec_sections; p < exec_sections_end; p++)
- ---
- > for (p = exec_ops.sections; p < exec_ops.sections_end; p++)
- 347c334
- < for (p = exec_sections; p < exec_sections_end; p++) {
- ---
- > for (p = exec_ops.sections; p < exec_ops.sections_end; p++) {
- 372c359
- < exec_xfer_memory, exec_files_info,
- ---
- > xfer_memory, exec_files_info,
- 376d362
- < add_syms_addr_command,
- 381a368
- > 0, 0, /* section pointers */
- diff -r gdb-3.98/gdb/expprint.c gdb-4.0/gdb/expprint.c
- 119a120
- > value val;
- 131c132
- < fprintf (stream, " :: ");
- ---
- > fputs_filtered (" :: ", stream);
- 135c136
- < fprintf (stream, &exp->elts[pc + 2].string);
- ---
- > fputs_filtered (&exp->elts[pc + 2].string, stream);
- 154c155
- < fprintf (stream, "%s", SYMBOL_NAME (exp->elts[pc + 1].symbol));
- ---
- > fputs_filtered (SYMBOL_NAME (exp->elts[pc + 1].symbol), stream);
- 159c160,161
- < fprintf (stream, "$%d", longest_to_int (exp->elts[pc + 1].longconst));
- ---
- > fprintf_filtered (stream, "$%d",
- > longest_to_int (exp->elts[pc + 1].longconst));
- 164c166
- < fprintf (stream, "$%s",
- ---
- > fprintf_filtered (stream, "$%s",
- 170c172
- < fprintf (stream, "$%s",
- ---
- > fprintf_filtered (stream, "$%s",
- 178c180
- < fprintf (stream, " (");
- ---
- > fputs_filtered (" (", stream);
- 182c184
- < fprintf (stream, ", ");
- ---
- > fputs_filtered (", ", stream);
- 185c187
- < fprintf (stream, ")");
- ---
- > fputs_filtered (")", stream);
- 191c193
- < fprintf (stream, "\"");
- ---
- > fputs_filtered ("\"", stream);
- 194c196
- < fprintf (stream, "\"");
- ---
- > fputs_filtered ("\"", stream);
- 199c201
- < fprintf (stream, "(");
- ---
- > fputs_filtered ("(", stream);
- 205c207
- < fprintf (stream, " ? ");
- ---
- > fputs_filtered (" ? ", stream);
- 207c209
- < fprintf (stream, " : ");
- ---
- > fputs_filtered (" : ", stream);
- 210c212
- < fprintf (stream, ")");
- ---
- > fputs_filtered (")", stream);
- 217c219,220
- < fprintf (stream, ".%s", &exp->elts[pc + 1].string);
- ---
- > fputs_filtered (".", stream);
- > fputs_filtered (&exp->elts[pc + 1].string, stream);
- 224c227,228
- < fprintf (stream, "->%s", &exp->elts[pc + 1].string);
- ---
- > fputs_filtered ("->", stream);
- > fputs_filtered (&exp->elts[pc + 1].string, stream);
- 229c233
- < fprintf (stream, "[");
- ---
- > fputs_filtered ("[", stream);
- 231c235
- < fprintf (stream, "]");
- ---
- > fputs_filtered ("]", stream);
- 236c240
- < fprintf (stream, "++");
- ---
- > fputs_filtered ("++", stream);
- 241c245
- < fprintf (stream, "--");
- ---
- > fputs_filtered ("--", stream);
- 247,248c251,252
- < fprintf (stream, "(");
- < fprintf (stream, "(");
- ---
- > fputs_filtered ("(", stream);
- > fputs_filtered ("(", stream);
- 250c254
- < fprintf (stream, ") ");
- ---
- > fputs_filtered (") ", stream);
- 253c257
- < fprintf (stream, ")");
- ---
- > fputs_filtered (")", stream);
- 259,263c263,279
- < fprintf (stream, "(");
- < fprintf (stream, "{");
- < type_print (exp->elts[pc + 1].type, "", stream, 0);
- < fprintf (stream, "} ");
- < print_subexp (exp, pos, stream, PREC_PREFIX);
- ---
- > fputs_filtered ("(", stream);
- > if (exp->elts[pc + 1].type->code == TYPE_CODE_FUNC &&
- > exp->elts[pc + 3].opcode == OP_LONG) {
- > /* We have a misc function vector fn, probably. It's encoded
- > as a UNOP_MEMVAL (function-type) of an OP_LONG (int, address).
- > Swallow the OP_LONG (including both its opcodes); ignore
- > its type; print the value in the type of the MEMVAL. */
- > (*pos) += 4;
- > val = value_at_lazy (exp->elts[pc + 1].type,
- > exp->elts[pc + 5].longconst);
- > value_print (val, stream, 0, Val_no_prettyprint);
- > } else {
- > fputs_filtered ("{", stream);
- > type_print (exp->elts[pc + 1].type, "", stream, 0);
- > fputs_filtered ("} ", stream);
- > print_subexp (exp, pos, stream, PREC_PREFIX);
- > }
- 265c281
- < fprintf (stream, ")");
- ---
- > fputs_filtered (")", stream);
- 284c300
- < fprintf (stream, "this");
- ---
- > fputs_filtered ("this", stream);
- 299c315
- < fprintf (stream, "(");
- ---
- > fputs_filtered ("(", stream);
- 303c319
- < fprintf (stream, "%s", op_str);
- ---
- > fputs_filtered (op_str, stream);
- 316c332
- < fprintf (stream, " %s= ", op_str);
- ---
- > fprintf_filtered (stream, " %s= ", op_str);
- 318c334
- < fprintf (stream, "%s ", op_str);
- ---
- > fprintf_filtered (stream, "%s ", op_str);
- 320c336
- < fprintf (stream, " %s ", op_str);
- ---
- > fprintf_filtered (stream, " %s ", op_str);
- 328c344
- < fprintf (stream, ")");
- ---
- > fputs_filtered (")", stream);
- diff -r gdb-3.98/gdb/expread.tab.c gdb-4.0/gdb/expread.tab.c
- 226,284c226
- < static const short yyprhs[] = { 0,
- < 0, 2, 4, 8, 11, 14, 17, 20, 23, 26,
- < 29, 32, 35, 38, 42, 47, 51, 56, 61, 62,
- < 68, 69, 71, 75, 80, 85, 89, 93, 97, 101,
- < 105, 109, 113, 117, 121, 125, 129, 133, 137, 141,
- < 145, 149, 153, 157, 161, 165, 171, 175, 179, 181,
- < 183, 185, 187, 189, 191, 193, 195, 197, 199, 204,
- < 206, 208, 210, 214, 218, 222, 227, 230, 232, 234,
- < 237, 239, 242, 244, 247, 249, 253, 256, 258, 261,
- < 263, 266, 270, 273, 275, 279, 286, 295, 305, 307,
- < 309, 311, 313, 316, 320, 323, 327, 331, 336, 339,
- < 343, 346, 349, 352, 355, 357, 360, 362, 364, 366,
- < 368, 370, 372, 376, 378, 380, 382, 384, 386, 388
- < };
- <
- < static const short yyrhs[] = { 67,
- < 0, 68, 0, 67, 29, 68, 0, 49, 68, 0,
- < 37, 68, 0, 48, 68, 0, 59, 68, 0, 60,
- < 68, 0, 53, 68, 0, 54, 68, 0, 68, 53,
- < 0, 68, 54, 0, 16, 68, 0, 68, 55, 82,
- < 0, 68, 55, 49, 68, 0, 68, 56, 82, 0,
- < 68, 56, 49, 68, 0, 68, 57, 67, 61, 0,
- < 0, 68, 58, 69, 70, 62, 0, 0, 68, 0,
- < 70, 29, 68, 0, 63, 78, 64, 68, 0, 58,
- < 78, 62, 68, 0, 58, 67, 62, 0, 68, 46,
- < 68, 0, 68, 49, 68, 0, 68, 50, 68, 0,
- < 68, 51, 68, 0, 68, 47, 68, 0, 68, 48,
- < 68, 0, 68, 44, 68, 0, 68, 45, 68, 0,
- < 68, 38, 68, 0, 68, 39, 68, 0, 68, 42,
- < 68, 0, 68, 43, 68, 0, 68, 40, 68, 0,
- < 68, 41, 68, 0, 68, 37, 68, 0, 68, 36,
- < 68, 0, 68, 35, 68, 0, 68, 34, 68, 0,
- < 68, 33, 68, 0, 68, 32, 68, 65, 68, 0,
- < 68, 31, 68, 0, 68, 27, 68, 0, 3, 0,
- < 11, 0, 5, 0, 12, 0, 4, 0, 6, 0,
- < 72, 0, 24, 0, 25, 0, 26, 0, 16, 58,
- < 78, 62, 0, 7, 0, 28, 0, 9, 0, 71,
- < 18, 82, 0, 71, 18, 82, 0, 79, 18, 82,
- < 0, 79, 18, 60, 82, 0, 18, 82, 0, 83,
- < 0, 79, 0, 79, 74, 0, 49, 0, 49, 74,
- < 0, 37, 0, 37, 74, 0, 75, 0, 58, 74,
- < 62, 0, 75, 76, 0, 76, 0, 75, 77, 0,
- < 77, 0, 57, 61, 0, 57, 3, 61, 0, 58,
- < 62, 0, 73, 0, 79, 18, 49, 0, 78, 58,
- < 79, 18, 49, 62, 0, 78, 58, 79, 18, 49,
- < 62, 58, 62, 0, 78, 58, 79, 18, 49, 62,
- < 58, 81, 62, 0, 10, 0, 23, 0, 21, 0,
- < 22, 0, 21, 23, 0, 17, 21, 23, 0, 21,
- < 21, 0, 21, 21, 23, 0, 17, 21, 21, 0,
- < 17, 21, 21, 23, 0, 22, 23, 0, 17, 22,
- < 23, 0, 13, 82, 0, 14, 82, 0, 15, 82,
- < 0, 17, 80, 0, 17, 0, 20, 80, 0, 20,
- < 0, 10, 0, 23, 0, 21, 0, 22, 0, 78,
- < 0, 81, 29, 78, 0, 8, 0, 9, 0, 10,
- < 0, 11, 0, 12, 0, 8, 0, 9, 0
- < };
- <
- < #if YYDEBUG != 0
- < static const short yyrline[] = { 0,
- ---
- > static const short yyrline[] = { 0,
- 299c241
- < static const char * const yytname[] = { "$",
- ---
- > static const char * const yytname[] = { 0,
- 306,308c248
- < "']'","')'","'{'","'}'","':'","start","exp1","exp","@1","arglist",
- < "block","variable","ptype","abs_decl","direct_abs_decl","array_mod","func_mod","type","typebase","typename",
- < "nonempty_typelist","name","name_not_typename",""
- ---
- > "']'","')'","'{'","'}'","':'","start"
- 310d249
- < #endif
- 524a464,465
- > #define YYPURE 1
- >
- 526c467
- < #line 3 "/usr/latest/lib/bison.simple"
- ---
- > #line 3 "bison.simple"
- 529c470
- < Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
- ---
- > Copyright (C) 1984 Bob Corbett and Richard Stallman
- 546,549d486
- < #ifndef alloca
- < #ifdef __GNUC__
- < #define alloca __builtin_alloca
- < #else /* Not GNU C. */
- 552,558c489
- < #else /* Not sparc */
- < #ifdef MSDOS
- < #include <malloc.h>
- < #endif /* MSDOS */
- < #endif /* Not sparc. */
- < #endif /* Not GNU C. */
- < #endif /* alloca not defined. */
- ---
- > #endif
- 572a504
- > #define YYFAIL goto yyerrlab;
- 575,592c507
- < #define YYERROR goto yyerrlab1
- < /* Like YYERROR except do call yyerror.
- < This remains here temporarily to ease the
- < transition to the new meaning of YYERROR, for GCC.
- < Once GCC version 2 has supplanted version 1, this can go. */
- < #define YYFAIL goto yyerrlab
- < #define YYRECOVERING() (!!yyerrstatus)
- < #define YYBACKUP(token, value) \
- < do \
- < if (yychar == YYEMPTY && yylen == 1) \
- < { yychar = (token), yylval = (value); \
- < yychar1 = YYTRANSLATE (yychar); \
- < YYPOPSTACK; \
- < goto yybackup; \
- < } \
- < else \
- < { yyerror ("syntax error: cannot back up"); YYERROR; } \
- < while (0)
- ---
- > #define YYERROR goto yyerrlab
- 597c512
- < #ifndef YYPURE
- ---
- > #ifndef YYIMPURE
- 601,602c516
- < #ifdef YYPURE
- < #ifdef YYLSP_NEEDED
- ---
- > #ifndef YYPURE
- 604,605d517
- < #else
- < #define YYLEX yylex(&yylval)
- 607d518
- < #endif
- 611c522
- < #ifndef YYPURE
- ---
- > #ifndef YYIMPURE
- 617d527
- < #ifdef YYLSP_NEEDED
- 620d529
- < #endif
- 623c532
- < #endif /* not YYPURE */
- ---
- > #endif /* YYIMPURE */
- 631c540
- < /* YYINITDEPTH indicates the initial size of the parser's stacks */
- ---
- > /* YYMAXDEPTH indicates the initial size of the parser's stacks */
- 633,634c542,543
- < #ifndef YYINITDEPTH
- < #define YYINITDEPTH 200
- ---
- > #ifndef YYMAXDEPTH
- > #define YYMAXDEPTH 200
- 637c546
- < /* YYMAXDEPTH is the maximum size the stacks can grow to
- ---
- > /* YYMAXLIMIT is the maximum size the stacks can grow to
- 640,645c549,550
- < #if YYMAXDEPTH == 0
- < #undef YYMAXDEPTH
- < #endif
- <
- < #ifndef YYMAXDEPTH
- < #define YYMAXDEPTH 10000
- ---
- > #ifndef YYMAXLIMIT
- > #define YYMAXLIMIT 10000
- 647,648d551
- <
- < #ifndef __cplusplus
- 650,679d552
- < /* This is the most reliable way to avoid incompatibilities
- < in available built-in functions on various systems. */
- < static void
- < __yy_bcopy (from, to, count)
- < char *from;
- < char *to;
- < int count;
- < {
- < register char *f = from;
- < register char *t = to;
- < register int i = count;
- <
- < while (i-- > 0)
- < *t++ = *f++;
- < }
- <
- < #else /* __cplusplus */
- <
- < /* This is the most reliable way to avoid incompatibilities
- < in available built-in functions on various systems. */
- < static void
- < __yy_bcopy (char *from, char *to, int count)
- < {
- < register char *f = from;
- < register char *t = to;
- < register int i = count;
- <
- < while (i-- > 0)
- < *t++ = *f++;
- < }
- 681,683c554
- < #endif
- <
- < #line 160 "/usr/latest/lib/bison.simple"
- ---
- > #line 90 "bison.simple"
- 690a562
- > YYLTYPE *yylsp;
- 694,695c566,568
- < short yyssa[YYINITDEPTH]; /* the state stack */
- < YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
- ---
- > short yyssa[YYMAXDEPTH]; /* the state stack */
- > YYSTYPE yyvsa[YYMAXDEPTH]; /* the semantic value stack */
- > YYLTYPE yylsa[YYMAXDEPTH]; /* the location stack */
- 699,700d571
- <
- < #ifdef YYLSP_NEEDED
- 702,703d572
- < YYLTYPE *yylsp;
- < YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
- 705,710c574
- < #define YYPOPSTACK (yyvsp--, yysp--, yylsp--)
- < #else
- < #define YYPOPSTACK (yyvsp--, yysp--)
- < #endif
- <
- < int yystacksize = YYINITDEPTH;
- ---
- > int yymaxdepth = YYMAXDEPTH;
- 712c576
- < #ifdef YYPURE
- ---
- > #ifndef YYPURE
- 715,716d578
- < int yynerrs;
- < #ifdef YYLSP_NEEDED
- 718c580
- < #endif
- ---
- > int yynerrs;
- 743d604
- < #ifdef YYLSP_NEEDED
- 745d605
- < #endif
- 754c614
- < if (yyssp >= yyss + yystacksize - 1)
- ---
- > if (yyssp >= yyss + yymaxdepth - 1)
- 759,760d618
- < short *yyss1 = yyss;
- < #ifdef YYLSP_NEEDED
- 762c620
- < #endif
- ---
- > short *yyss1 = yyss;
- 773d630
- < #ifdef YYLSP_NEEDED
- 775,776c632
- < #endif
- < &yystacksize);
- ---
- > &yymaxdepth);
- 778,781c634
- < yyss = yyss1; yyvs = yyvs1;
- < #ifdef YYLSP_NEEDED
- < yyls = yyls1;
- < #endif
- ---
- > yyss = yyss1; yyvs = yyvs1; yyls = yyls1;
- 784,795c637,645
- < if (yystacksize >= YYMAXDEPTH)
- < {
- < yyerror("parser stack overflow");
- < return 2;
- < }
- < yystacksize *= 2;
- < if (yystacksize > YYMAXDEPTH)
- < yystacksize = YYMAXDEPTH;
- < yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
- < __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
- < yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
- < __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
- ---
- > if (yymaxdepth >= YYMAXLIMIT)
- > yyerror("parser stack overflow");
- > yymaxdepth *= 2;
- > if (yymaxdepth > YYMAXLIMIT)
- > yymaxdepth = YYMAXLIMIT;
- > yyss = (short *) alloca (yymaxdepth * sizeof (*yyssp));
- > bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
- > yyvs = (YYSTYPE *) alloca (yymaxdepth * sizeof (*yyvsp));
- > bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
- 797,798c647,648
- < yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
- < __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
- ---
- > yyls = (YYLTYPE *) alloca (yymaxdepth * sizeof (*yylsp));
- > bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
- 810c660
- < fprintf(stderr, "Stack size increased to %d\n", yystacksize);
- ---
- > fprintf(stderr, "Stack size increased to %d\n", yymaxdepth);
- 813c663
- < if (yyssp >= yyss + yystacksize - 1)
- ---
- > if (yyssp >= yyss + yymaxdepth - 1)
- 822,823d671
- < yybackup:
- <
- 826c674
- < /* yyresume: */
- ---
- > yyresume:
- 933,941c781,786
- < int i;
- <
- < fprintf (stderr, "Reducing via rule %d (line %d), ",
- < yyn, yyrline[yyn]);
- <
- < /* Print the symboles being reduced, and their result. */
- < for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
- < fprintf (stderr, "%s ", yytname[yyrhs[i]]);
- < fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
- ---
- > if (yylen == 1)
- > fprintf (stderr, "Reducing 1 value via line %d, ",
- > yyrline[yyn]);
- > else
- > fprintf (stderr, "Reducing %d values via line %d, ",
- > yylen, yyrline[yyn]);
- 1700c1545
- < #line 423 "/usr/latest/lib/bison.simple"
- ---
- > #line 327 "bison.simple"
- 1759,1793c1604
- <
- < #ifdef YYERROR_VERBOSE
- < yyn = yypact[yystate];
- <
- < if (yyn > YYFLAG && yyn < YYLAST)
- < {
- < int size = 0;
- < char *msg;
- < int x, count;
- <
- < count = 0;
- < for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
- < if (yycheck[x + yyn] == x)
- < size += strlen(yytname[x]) + 15, count++;
- < msg = (char *) xmalloc(size + 15);
- < strcpy(msg, "parse error");
- <
- < if (count < 5)
- < {
- < count = 0;
- < for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
- < if (yycheck[x + yyn] == x)
- < {
- < strcat(msg, count == 0 ? ", expecting `" : " or `");
- < strcat(msg, yytname[x]);
- < strcat(msg, "'");
- < count++;
- < }
- < }
- < yyerror(msg);
- < free(msg);
- < }
- < else
- < #endif /* YYERROR_VERBOSE */
- < yyerror("parse error");
- ---
- > yyerror("parse error");
- 1796,1797d1606
- < yyerrlab1: /* here on error raised explicitly by an action */
- <
- 2589a2399
- > /* ARGSUSED */
- diff -r gdb-3.98/gdb/expread.y gdb-4.0/gdb/expread.y
- 1629a1630
- > /* ARGSUSED */
- diff -r gdb-3.98/gdb/gdb.info gdb-4.0/gdb/gdb.info
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 28,33c28,33
- < gdb.info-1: 1057
- < gdb.info-2: 48501
- < gdb.info-3: 97827
- < gdb.info-4: 143406
- < gdb.info-5: 188629
- < gdb.info-6: 232808
- ---
- > gdb.info-1: 1054
- > gdb.info-2: 49653
- > gdb.info-3: 98454
- > gdb.info-4: 147012
- > gdb.info-5: 195634
- > gdb.info-6: 227137
- 37,143c37,147
- < Node: Top1059
- < Node: Summary5491
- < Node: Free Software6495
- < Node: Contributors7288
- < Node: New Features10496
- < Node: Sample Session13567
- < Node: Invocation20132
- < Node: Starting GDB20378
- < Node: File Options21383
- < Node: Mode Options22661
- < Node: Leaving GDB24738
- < Node: Shell Commands25414
- < Node: Commands26208
- < Node: Command Syntax26384
- < Node: Help27929
- < Node: Running31653
- < Node: Compilation32161
- < Node: Starting33571
- < Node: Arguments36551
- < Node: Environment37540
- < Node: Working Directory40200
- < Node: Input/Output40909
- < Node: Attach42510
- < Node: Kill Process44672
- < Node: Stopping45616
- < Node: Breakpoints46646
- < Node: Set Breaks48503
- < Node: Set Watchpoints53027
- < Node: Exception Handling53851
- < Node: Delete Breaks56326
- < Node: Disabling57936
- < Node: Conditions60528
- < Node: Break Commands65217
- < Node: Breakpoint Menus68663
- < Node: Error in Breakpoints70206
- < Node: Continuing and Stepping71106
- < Node: Signals76974
- < Node: Stack80597
- < Node: Frames81912
- < Node: Backtrace84199
- < Node: Selection85919
- < Node: Frame Info88398
- < Node: Source90334
- < Node: List91172
- < Node: Search94316
- < Node: Source Path95137
- < Node: Machine Code97829
- < Node: Data100204
- < Node: Expressions101282
- < Node: Variables102689
- < Node: Arrays104977
- < Node: Output formats106993
- < Node: Memory108861
- < Node: Auto Display114177
- < Node: Print Settings117870
- < Node: Value History123377
- < Node: Convenience Vars125760
- < Node: Registers128182
- < Node: Floating Point Hardware131539
- < Node: Symbols131997
- < Node: Altering135936
- < Node: Assignment136776
- < Node: Jumping138962
- < Node: Signaling140923
- < Node: Returning141586
- < Node: Calling142738
- < Node: GDB Files143209
- < Node: Files143408
- < Node: Symbol Errors150865
- < Node: Targets154005
- < Node: Active Targets154803
- < Node: Target Commands155874
- < Node: Remote158204
- < Node: i960-Nindy Remote160276
- < Node: Nindy Startup161019
- < Node: Nindy Options161702
- < Node: Nindy reset163350
- < Node: EB29K Remote163734
- < Node: Comms (EB29K)164289
- < Node: gdb-EB29K167508
- < Node: Remote Log168873
- < Node: VxWorks Remote169349
- < Node: VxWorks connection170704
- < Node: VxWorks download171699
- < Node: VxWorks attach173240
- < Node: Controlling GDB173636
- < Node: Prompt174149
- < Node: Editing174774
- < Node: History175541
- < Node: Screen Size178032
- < Node: Numbers179307
- < Node: Messages/Warnings180427
- < Node: Sequences182539
- < Node: Define182985
- < Node: Command Files185008
- < Node: Output186254
- < Node: Emacs188631
- < Node: GDB Bugs194594
- < Node: Bug Criteria195281
- < Node: Bug Reporting196052
- < Node: Renamed Commands203069
- < Node: Installing GDB204709
- < Node: Subdirectories207186
- < Node: configure Options210081
- < Node: Formatting Manual212364
- < Node: Copying213505
- < Node: Index232810
- ---
- > Node: Top1056
- > Node: Summary7041
- > Node: Free Software8074
- > Node: Contributors8867
- > Node: New Features12098
- > Node: Sample Session15793
- > Node: Invocation22357
- > Node: Starting GDB22643
- > Node: File Options23922
- > Node: Mode Options25200
- > Node: Leaving GDB27277
- > Node: Shell Commands27953
- > Node: Commands28747
- > Node: Command Syntax28956
- > Node: Help30790
- > Node: Running34514
- > Node: Compilation35139
- > Node: Starting36549
- > Node: Arguments39524
- > Node: Environment40513
- > Node: Working Directory43173
- > Node: Input/Output43882
- > Node: Attach45483
- > Node: Kill Process47645
- > Node: Stopping48589
- > Node: Breakpoints49655
- > Node: Set Breaks51611
- > Node: Set Watchpoints56183
- > Node: Exception Handling57007
- > Node: Delete Breaks59484
- > Node: Disabling61094
- > Node: Conditions63686
- > Node: Break Commands68375
- > Node: Breakpoint Menus71821
- > Node: Error in Breakpoints73364
- > Node: Continuing and Stepping74264
- > Node: Signals80159
- > Node: Stack83782
- > Node: Frames85163
- > Node: Backtrace87450
- > Node: Selection89170
- > Node: Frame Info91649
- > Node: Source93585
- > Node: List94491
- > Node: Search97635
- > Node: Source Path98456
- > Node: Machine Code101148
- > Node: Data103555
- > Node: Expressions104949
- > Node: Variables106291
- > Node: Arrays108579
- > Node: Output formats110595
- > Node: Memory112463
- > Node: Auto Display117779
- > Node: Print Settings121472
- > Node: Value History126987
- > Node: Convenience Vars129370
- > Node: Registers131792
- > Node: Floating Point Hardware135294
- > Node: Cplusplus135752
- > Node: Cplusplus expressions136256
- > Node: Cplusplus commands138120
- > Node: Symbols139581
- > Node: Altering143905
- > Node: Assignment144828
- > Node: Jumping147014
- > Node: Signaling148975
- > Node: Returning149638
- > Node: Calling150790
- > Node: GDB Files151261
- > Node: Files151493
- > Node: Symbol Errors158949
- > Node: Targets162287
- > Node: Active Targets163127
- > Node: Target Commands164198
- > Node: Remote166528
- > Node: i960-Nindy Remote168600
- > Node: Nindy Startup169343
- > Node: Nindy Options170026
- > Node: Nindy reset171674
- > Node: EB29K Remote172058
- > Node: Comms (EB29K)172613
- > Node: gdb-EB29K175832
- > Node: Remote Log177197
- > Node: VxWorks Remote177673
- > Node: VxWorks connection179028
- > Node: VxWorks download180023
- > Node: VxWorks attach181564
- > Node: Controlling GDB181960
- > Node: Prompt182569
- > Node: Editing183194
- > Node: History183961
- > Node: Screen Size186452
- > Node: Numbers187727
- > Node: Messages/Warnings188847
- > Node: Sequences191870
- > Node: Define192367
- > Node: Command Files194390
- > Node: Output195636
- > Node: Emacs198013
- > Node: GDB Bugs203976
- > Node: Bug Criteria204690
- > Node: Bug Reporting205461
- > Node: Renamed Commands212478
- > Node: Installing GDB214118
- > Node: Subdirectories216134
- > Node: Config Names219726
- > Node: configure Options222638
- > Node: Formatting Manual224889
- > Node: Copying227139
- > Node: Index246444
- diff -r gdb-3.98/gdb/gdb.info-1 gdb-4.0/gdb/gdb.info-1
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 34,55c34,56
- < * Summary:: Summary of GDB
- < * New Features:: New Features in GDB version 4.0
- < * Sample Session:: A Sample GDB Session
- < * Invocation:: Getting In and Out of GDB
- < * Commands::
- < * Running:: Running Programs Under GDB
- < * Stopping:: Stopping and Continuing
- < * Stack:: Examining the Stack
- < * Source:: Examining Source Files
- < * Data:: Examining Data
- < * Symbols:: Examining the Symbol Table
- < * Altering:: Altering Execution
- < * GDB Files::
- < * Targets:: Specifying a Debugging Target
- < * Controlling GDB:: Controlling GDB
- < * Sequences:: Canned Sequences of Commands
- < * Emacs:: Using GDB under GNU Emacs
- < * GDB Bugs:: Reporting Bugs in GDB
- < * Renamed Commands::
- < * Installing GDB:: Installing GDB
- < * Copying:: GNU GENERAL PUBLIC LICENSE
- < * Index:: Index
- ---
- > * Summary:: Summary of GDB
- > * New Features:: New Features in GDB version 4.0
- > * Sample Session:: A Sample GDB Session
- > * Invocation:: Getting In and Out of GDB
- > * Commands::
- > * Running:: Running Programs Under GDB
- > * Stopping:: Stopping and Continuing
- > * Stack:: Examining the Stack
- > * Source:: Examining Source Files
- > * Data:: Examining Data
- > * Cplusplus:: C++ and GDB
- > * Symbols:: Examining the Symbol Table
- > * Altering:: Altering Execution
- > * GDB Files::
- > * Targets:: Specifying a Debugging Target
- > * Controlling GDB:: Controlling GDB
- > * Sequences:: Canned Sequences of Commands
- > * Emacs:: Using GDB under GNU Emacs
- > * GDB Bugs:: Reporting Bugs in GDB
- > * Renamed Commands::
- > * Installing GDB:: Installing GDB
- > * Copying:: GNU GENERAL PUBLIC LICENSE
- > * Index:: Index
- 60,61c61,62
- < * Free Software:: Free Software
- < * Contributors:: Contributors to GDB
- ---
- > * Free Software:: Free Software
- > * Contributors:: Contributors to GDB
- 65,67c66,68
- < * Starting GDB:: Starting GDB
- < * Leaving GDB:: Leaving GDB
- < * Shell Commands:: Shell Commands
- ---
- > * Starting GDB:: Starting GDB
- > * Leaving GDB:: Leaving GDB
- > * Shell Commands:: Shell Commands
- 71,72c72,73
- < * File Options:: Choosing Files
- < * Mode Options:: Choosing Modes
- ---
- > * File Options:: Choosing Files
- > * Mode Options:: Choosing Modes
- 76,77c77,78
- < * Command Syntax:: Command Syntax
- < * Help:: Getting Help
- ---
- > * Command Syntax:: Command Syntax
- > * Help:: Getting Help
- 81,88c82,89
- < * Compilation:: Compiling for Debugging
- < * Starting:: Starting your Program
- < * Arguments:: Your Program's Arguments
- < * Environment:: Your Program's Environment
- < * Working Directory:: Your Program's Working Directory
- < * Input/Output:: Your Program's Input and Output
- < * Attach:: Debugging an Already-Running Process
- < * Kill Process:: Killing the Child Process
- ---
- > * Compilation:: Compiling for Debugging
- > * Starting:: Starting your Program
- > * Arguments:: Your Program's Arguments
- > * Environment:: Your Program's Environment
- > * Working Directory:: Your Program's Working Directory
- > * Input/Output:: Your Program's Input and Output
- > * Attach:: Debugging an Already-Running Process
- > * Kill Process:: Killing the Child Process
- 92,94c93,95
- < * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- < * Continuing and Stepping:: Resuming Execution
- < * Signals:: Signals
- ---
- > * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- > * Continuing and Stepping:: Resuming Execution
- > * Signals:: Signals
- 98,106c99,107
- < * Set Breaks:: Setting Breakpoints
- < * Set Watchpoints:: Setting Watchpoints
- < * Exception Handling:: Breakpoints and Exceptions
- < * Delete Breaks:: Deleting Breakpoints
- < * Disabling:: Disabling Breakpoints
- < * Conditions:: Break Conditions
- < * Break Commands:: Breakpoint Command Lists
- < * Breakpoint Menus:: Breakpoint Menus
- < * Error in Breakpoints::
- ---
- > * Set Breaks:: Setting Breakpoints
- > * Set Watchpoints:: Setting Watchpoints
- > * Exception Handling:: Breakpoints and Exceptions
- > * Delete Breaks:: Deleting Breakpoints
- > * Disabling:: Disabling Breakpoints
- > * Conditions:: Break Conditions
- > * Break Commands:: Breakpoint Command Lists
- > * Breakpoint Menus:: Breakpoint Menus
- > * Error in Breakpoints::
- 110,113c111,114
- < * Frames:: Stack Frames
- < * Backtrace:: Backtraces
- < * Selection:: Selecting a Frame
- < * Frame Info:: Information on a Frame
- ---
- > * Frames:: Stack Frames
- > * Backtrace:: Backtraces
- > * Selection:: Selecting a Frame
- > * Frame Info:: Information on a Frame
- 117,120c118,121
- < * List:: Printing Source Lines
- < * Search:: Searching Source Files
- < * Source Path:: Specifying Source Directories
- < * Machine Code:: Source and Machine Code
- ---
- > * List:: Printing Source Lines
- > * Search:: Searching Source Files
- > * Source Path:: Specifying Source Directories
- > * Machine Code:: Source and Machine Code
- 124,134c125,135
- < * Expressions:: Expressions
- < * Variables:: Program Variables
- < * Arrays:: Artificial Arrays
- < * Output formats:: Output formats
- < * Memory:: Examining Memory
- < * Auto Display:: Automatic Display
- < * Print Settings:: Print Settings
- < * Value History:: Value History
- < * Convenience Vars:: Convenience Variables
- < * Registers:: Registers
- < * Floating Point Hardware:: Floating Point Hardware
- ---
- > * Expressions:: Expressions
- > * Variables:: Program Variables
- > * Arrays:: Artificial Arrays
- > * Output formats:: Output formats
- > * Memory:: Examining Memory
- > * Auto Display:: Automatic Display
- > * Print Settings:: Print Settings
- > * Value History:: Value History
- > * Convenience Vars:: Convenience Variables
- > * Registers:: Registers
- > * Floating Point Hardware:: Floating Point Hardware
- 138,142c139,143
- < * Assignment:: Assignment to Variables
- < * Jumping:: Continuing at a Different Address
- < * Signaling:: Giving the Program a Signal
- < * Returning:: Returning from a Function
- < * Calling:: Calling your Program's Functions
- ---
- > * Assignment:: Assignment to Variables
- > * Jumping:: Continuing at a Different Address
- > * Signaling:: Giving the Program a Signal
- > * Returning:: Returning from a Function
- > * Calling:: Calling your Program's Functions
- 146,147c147,148
- < * Files:: Commands to Specify Files
- < * Symbol Errors:: Errors Reading Symbol Files
- ---
- > * Files:: Commands to Specify Files
- > * Symbol Errors:: Errors Reading Symbol Files
- 151,153c152,154
- < * Active Targets:: Active Targets
- < * Target Commands:: Commands for Managing Targets
- < * Remote:: Remote Debugging
- ---
- > * Active Targets:: Active Targets
- > * Target Commands:: Commands for Managing Targets
- > * Remote:: Remote Debugging
- 157,159c158,160
- < * i960-Nindy Remote::
- < * EB29K Remote::
- < * VxWorks Remote::
- ---
- > * i960-Nindy Remote::
- > * EB29K Remote::
- > * VxWorks Remote::
- 163,165c164,166
- < * Nindy Startup:: Startup with Nindy
- < * Nindy Options:: Options for Nindy
- < * Nindy reset:: Nindy Reset Command
- ---
- > * Nindy Startup:: Startup with Nindy
- > * Nindy Options:: Options for Nindy
- > * Nindy reset:: Nindy Reset Command
- 169,171c170,172
- < * Comms (EB29K):: Communications Setup
- < * gdb-EB29K:: EB29K cross-debugging
- < * Remote Log:: Remote Log
- ---
- > * Comms (EB29K):: Communications Setup
- > * gdb-EB29K:: EB29K cross-debugging
- > * Remote Log:: Remote Log
- 175,177c176,178
- < * VxWorks connection:: Connecting to VxWorks
- < * VxWorks download:: VxWorks Download
- < * VxWorks attach:: Running Tasks
- ---
- > * VxWorks connection:: Connecting to VxWorks
- > * VxWorks download:: VxWorks Download
- > * VxWorks attach:: Running Tasks
- 181,186c182,187
- < * Prompt:: Prompt
- < * Editing:: Command Editing
- < * History:: Command History
- < * Screen Size:: Screen Size
- < * Numbers:: Numbers
- < * Messages/Warnings:: Optional Warnings and Messages
- ---
- > * Prompt:: Prompt
- > * Editing:: Command Editing
- > * History:: Command History
- > * Screen Size:: Screen Size
- > * Numbers:: Numbers
- > * Messages/Warnings:: Optional Warnings and Messages
- 190,192c191,193
- < * Define:: User-Defined Commands
- < * Command Files:: Command Files
- < * Output:: Commands for Controlled Output
- ---
- > * Define:: User-Defined Commands
- > * Command Files:: Command Files
- > * Output:: Commands for Controlled Output
- 196,197c197,198
- < * Bug Criteria:: Have You Found a Bug?
- < * Bug Reporting:: How to Report Bugs
- ---
- > * Bug Criteria:: Have You Found a Bug?
- > * Bug Reporting:: How to Report Bugs
- 223c224
- < GDB can be used to debug programs written in C and C++. Pascal
- ---
- > You can use GDB to debug programs written in C and C++. Modula-2
- 229,230c230,231
- < * Free Software:: Free Software
- < * Contributors:: Contributors to GDB
- ---
- > * Free Software:: Free Software
- > * Contributors:: Contributors to GDB
- 275,278c276,280
- < John Gilmore (release 4.0); Jim Kingdon (releases 3.9, 3.5, 3.4,
- < 3.3); and Randy Smith (releases 3.2, 3.1, 3.0). As major maintainer
- < of GDB for some period, each contributed significantly to the
- < structure, stability, and capabilities of the entire debugger.
- ---
- > John Gilmore (release 4.0; happy birthday, John!); Jim Kingdon
- > (releases 3.9, 3.5, 3.4, 3.3); and Randy Smith (releases 3.2, 3.1,
- > 3.0). As major maintainer of GDB for some period, each contributed
- > significantly
- > to the structure, stability, and capabilities of the entire debugger.
- 305,309c307,312
- < contributed Convex support (and Fortran debugging). Jonathan Stone
- < contributed Pyramid support. Michael Tiemann contributed SPARC
- < support. Tim Tucker contributed support for the Gould NP1 and Gould
- < Powernode. Pace Willison contributed Intel 386 support. Jay
- < Vosburgh contributed Symmetry support.
- ---
- > contributed
- > Convex support (and Fortran debugging). Jonathan Stone contributed
- > Pyramid support. Michael Tiemann contributed SPARC support. Tim
- > Tucker contributed support for the Gould NP1 and Gould Powernode.
- > Pace Willison contributed Intel 386 support. Jay Vosburgh
- > contributed Symmetry support.
- 333,336c336,344
- < TCP/IP connection, etc. Internally, GDB now uses a function
- < vector to mediate access to different targets; if you need to
- < add your own support for a remote protocol, this makes it much
- < easier.
- ---
- > TCP/IP connection, etc. The command `load' can download
- > programs into a remote system. Serial stubs are available for
- > Motorola 680x0 and Intel 80386 remote systems; GDB also
- > supports debugging realtime processes running under VxWorks,
- > using SunRPC Remote Procedure Calls over TCP/IP to talk to a
- > debugger stub on the target system. Internally, GDB now uses a
- > function vector to mediate access to different targets; if you
- > need to add your own support for a remote protocol, this makes
- > it much easier.
- 343a352,355
- > *Wide Output*
- > Commands that issue wide output now insert newlines at places
- > designed to make the output more readable.
- >
- 345c357
- < GDB uses a new scheme called the Binary File Descriptor (BFD)
- ---
- > GDB uses a new library called the Binary File Descriptor (BFD)
- 354c366
- < *Configuration*
- ---
- > *Configuration and Ports*
- 358c370,371
- < a cross-debugger.
- ---
- > a cross-debugger. *Note Installing GDB:: for details on how to
- > configure and on what architectures are now available.
- 369,372c382,387
- < *Source Language*
- < GDB now has limited support for C++ exception handling: GDB can
- < break when an exception is raised, before the stack is peeled
- < back to the exception handler's context.
- ---
- > *C++*
- > GDB now supports C++ multiple inheritance (if used with a GCC
- > version 2 compiler), and also has limited support for C++
- > exception handling, with the commands `catch' and `info catch':
- > GDB can break when an exception is raised, before the stack is
- > peeled back to the exception handler's context.
- 382,389d396
- < *Ports*
- < GDB has been ported to the following new architectures: AT&T
- < 3b1, Acorn RISC machine, HP300 running HPUX, big- and
- < little-endian MIPS machines, Motorola 88k, Sun 386i, and Sun 3
- <
- < running SunOS 4. In addition, the following are supported as
- < targets only: AMD 29k, Intel 960, and Wind River's VxWorks.
- <
- 391c398,404
- < GDB 4.0 supports SunOS shared libraries.
- ---
- > GDB 4.0 can debug programs and core files that use SunOS shared
- > libraries. You can load symbols from a shared library with the
- > command `sharedlibrary' (*note Files::.).
- >
- > *Reference Card*
- > GDB 4.0 has a reference card; *Note Formatting Manual:: for
- > instructions on printing it.
- 405c418,419
- < debugger. This chapter illustrates these commands.
- ---
- > debugger.
- > This chapter illustrates these commands.
- 609,611c623,625
- < * Starting GDB:: Starting GDB
- < * Leaving GDB:: Leaving GDB
- < * Shell Commands:: Shell Commands
- ---
- > * Starting GDB:: Starting GDB
- > * Leaving GDB:: Leaving GDB
- > * Shell Commands:: Shell Commands
- 632a647,654
- > You can, instead, specify a process ID as a second argument, if
- > you want to debug a running process:
- >
- > gdb program 1234
- >
- > would attach GDB to process `1234' (unless you also have a file named
- > `1234'; GDB does check for a core file first).
- >
- 647,648c669,670
- < * File Options:: Choosing Files
- < * Mode Options:: Choosing Modes
- ---
- > * File Options:: Choosing Files
- > * Mode Options:: Choosing Modes
- 801,802c823,824
- < * Command Syntax:: Command Syntax
- < * Help:: Getting Help
- ---
- > * Command Syntax:: Command Syntax
- > * Help:: Getting Help
- 835a858,863
- > GDB can also use RET in another way: to partition lengthy output,
- > in a way similar to the common utility `more' (*note Screen
- > Size::.). Since it's easy to press one RET too many in this
- > situation, GDB disables command repetition after any command that
- > generates this sort of display.
- >
- 945,952c973,980
- < * Compilation:: Compiling for Debugging
- < * Starting:: Starting your Program
- < * Arguments:: Your Program's Arguments
- < * Environment:: Your Program's Environment
- < * Working Directory:: Your Program's Working Directory
- < * Input/Output:: Your Program's Input and Output
- < * Attach:: Debugging an Already-Running Process
- < * Kill Process:: Killing the Child Process
- ---
- > * Compilation:: Compiling for Debugging
- > * Starting:: Starting your Program
- > * Arguments:: Your Program's Arguments
- > * Environment:: Your Program's Environment
- > * Working Directory:: Your Program's Working Directory
- > * Input/Output:: Your Program's Input and Output
- > * Attach:: Debugging an Already-Running Process
- > * Kill Process:: Killing the Child Process
- 1018,1019c1046
- < environment
- < variable. *Note Arguments::.
- ---
- > environment variable. *Note Arguments::.
- 1310,1355c1337,1339
- < * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- < * Continuing and Stepping:: Resuming Execution
- < * Signals:: Signals
- <
- <
- < File: gdb.info, Node: Breakpoints, Next: Continuing and Stepping, Prev: Stopping, Up: Stopping
- <
- < Breakpoints, Watchpoints, and Exceptions
- < ========================================
- <
- < A "breakpoint" makes your program stop whenever a certain point in
- < the program is reached. For each breakpoint, you can add various
- < conditions to control in finer detail whether the program will stop.
- < You can set breakpoints with the `break' command and its variants
- < (*note Set Breaks::.), to specify the place where the program should
- < stop by line number, function name or exact address in the program.
- < In languages with exception handling (such as GNU C++), you can also
- < set breakpoints where an exception is raised (*note Exception
- < Handling::.).
- <
- < A "watchpoint" is a special breakpoint that stops your program
- < when the value of an expression changes. You must use a different
- < command to set watchpoints (*note Set Watchpoints::.), but aside
- < from that, you can manage a watchpoint like any other breakpoint:
- < you enable, disable, and delete both breakpoints and watchpoints
- < using the same commands.
- <
- < Each breakpoint or watchpoint is assigned a number when it is
- < created; these numbers are successive integers starting with one.
- < In many of the commands for controlling various features of
- < breakpoints you use the breakpoint number to say which breakpoint
- < you want to change. Each breakpoint may be "enabled" or "disabled";
- < if
- < disabled, it has no effect on the program until you enable it again.
- <
- < * Menu:
- <
- < * Set Breaks:: Setting Breakpoints
- < * Set Watchpoints:: Setting Watchpoints
- < * Exception Handling:: Breakpoints and Exceptions
- < * Delete Breaks:: Deleting Breakpoints
- < * Disabling:: Disabling Breakpoints
- < * Conditions:: Break Conditions
- < * Break Commands:: Breakpoint Command Lists
- < * Breakpoint Menus:: Breakpoint Menus
- < * Error in Breakpoints::
- ---
- > * Breakpoints:: Breakpoints, Watchpoints, and Exceptions
- > * Continuing and Stepping:: Resuming Execution
- > * Signals:: Signals
- diff -r gdb-3.98/gdb/gdb.info-2 gdb-4.0/gdb/gdb.info-2
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 27a28,70
- > File: gdb.info, Node: Breakpoints, Next: Continuing and Stepping, Prev: Stopping, Up: Stopping
- >
- > Breakpoints, Watchpoints, and Exceptions
- > ========================================
- >
- > A "breakpoint" makes your program stop whenever a certain point in
- > the program is reached. For each breakpoint, you can add various
- > conditions to control in finer detail whether the program will stop.
- > You can set breakpoints with the `break' command and its variants
- > (*note Set Breaks::.), to specify the place where the program should
- > stop by line number, function name or exact address in the program.
- > In languages with exception handling (such as GNU C++), you can also
- > set breakpoints where an exception is raised (*note Exception
- > Handling::.).
- >
- > A "watchpoint" is a special breakpoint that stops your program
- > when the value of an expression changes. You must use a different
- > command to set watchpoints (*note Set Watchpoints::.), but aside
- > from that, you can manage a watchpoint like any other breakpoint:
- > you enable, disable, and delete both breakpoints and watchpoints
- > using the same commands.
- >
- > Each breakpoint or watchpoint is assigned a number when it is
- > created; these numbers are successive integers starting with one.
- > In many of the commands for controlling various features of
- > breakpoints you use the breakpoint number to say which breakpoint
- > you want to change. Each breakpoint may be "enabled" or "disabled";
- > if
- > disabled, it has no effect on the program until you enable it again.
- >
- > * Menu:
- >
- > * Set Breaks:: Setting Breakpoints
- > * Set Watchpoints:: Setting Watchpoints
- > * Exception Handling:: Breakpoints and Exceptions
- > * Delete Breaks:: Deleting Breakpoints
- > * Disabling:: Disabling Breakpoints
- > * Conditions:: Break Conditions
- > * Break Commands:: Breakpoint Command Lists
- > * Breakpoint Menus:: Breakpoint Menus
- > * Error in Breakpoints::
- >
- >
- 73a117
- >
- 104,107c148,149
- < REGEX. This is useful for setting breakpoints on overloaded
- < functions that are not members of any special classes. This
- < command sets an unconditional breakpoint on all matches,
- < printing a list of all breakpoints it set. Once these
- ---
- > REGEX. This command sets an unconditional breakpoint on all
- > matches, printing a list of all breakpoints it set. Once these
- 111a154,157
- > When debugging C++ programs, `rbreak' is useful for setting
- > breakpoints on overloaded functions that are not members of any
- > special classes.
- >
- 119a166
- >
- 160,161c207,208
- < GDB can be used to examine what caused the program to raise an
- < exception and to list the exceptions the program is prepared to
- ---
- > You can use GDB to examine what caused the program to raise an
- > exception, and to list the exceptions the program is prepared to
- 194c241
- < knowledge of the implementation. In the case of GNU C++ exceptions
- ---
- > knowledge of the implementation. In the case of GNU C++, exceptions
- 669c716
- < 206 expand_input();
- ---
- > 206 expand_input();
- 671c718
- < 195 for ( ; argc > 0; NEXTARG) {
- ---
- > 195 for ( ; argc > 0; NEXTARG) {
- 674a722
- >
- 829,832c877,880
- < * Frames:: Stack Frames
- < * Backtrace:: Backtraces
- < * Selection:: Selecting a Frame
- < * Frame Info:: Information on a Frame
- ---
- > * Frames:: Stack Frames
- > * Backtrace:: Backtraces
- > * Selection:: Selecting a Frame
- > * Frame Info:: Information on a Frame
- 1065,1068c1113,1116
- < * List:: Printing Source Lines
- < * Search:: Searching Source Files
- < * Source Path:: Specifying Source Directories
- < * Machine Code:: Source and Machine Code
- ---
- > * List:: Printing Source Lines
- > * Search:: Searching Source Files
- > * Source Path:: Specifying Source Directories
- > * Machine Code:: Source and Machine Code
- 1189,1250d1236
- <
- <
- < File: gdb.info, Node: Source Path, Next: Machine Code, Prev: Search, Up: Source
- <
- < Specifying Source Directories
- < =============================
- <
- < Executable programs sometimes do not record the directories of the
- < source files from which they were compiled, just the names. Even
- < when they do, the directories could be moved between the compilation
- < and your debugging session. GDB has a list of directories to search
- < for source files; this is called the "source path". Each time GDB
- < wants a source file, it tries all the directories in the list, in
- < the order they are present in the list, until it finds a file with
- < the desired name. Note that the executable search path is *not*
- < used for this purpose. Neither is the current working directory,
- < unless it happens to be in the source path.
- <
- < If GDB can't find a source file in the source path, and the object
- < program records a directory, GDB tries that directory too. If the
- < source path is empty, and there is no record of the compilation
- < directory, GDB will, as a last resort, look in the current directory.
- <
- < Whenever you reset or rearrange the source path, GDB will clear
- < out any information it has cached about where source files are
- < found, where each line is in the file, etc.
- <
- < When you start GDB, its source path is empty. To add other
- < directories, use the `directory' command.
- <
- < `directory DIRNAME ...'
- < Add directory DIRNAME to the front of the source path. Several
- < directory names may be given to this command, separated by `:'
- < or whitespace. You may specify a directory that is already in
- < the source path; this moves it forward, so it will be searched
- < sooner.
- <
- < You can use the string `$cdir' to refer to the compilation
- < directory (if one is recorded), and `$cwd' to refer to the
- < current working directory. `$cwd' is not the same as `.'--the
- < former tracks the current working directory as it changes
- < during your GDB session, while the latter is immediately
- < expanded to the current directory at the time you add an entry
- < to the source path.
- <
- < `directory'
- < Reset the source path to empty again. This requires confirmation.
- <
- < `show directories'
- < Print the source path: show which directories it contains.
- <
- < If your source path is cluttered with directories that are no
- < longer
- < of interest, GDB may sometimes cause confusion by finding the wrong
- < versions of source. You can correct the situation as follows:
- <
- < 1. Use `directory' with no argument to reset the source path to
- < empty.
- <
- < 2. Use `directory' with suitable arguments to reinstall the
- < directories you want in the source path. You can add all the
- < directories in one command.
- diff -r gdb-3.98/gdb/gdb.info-3 gdb-4.0/gdb/gdb.info-3
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 27a28,89
- > File: gdb.info, Node: Source Path, Next: Machine Code, Prev: Search, Up: Source
- >
- > Specifying Source Directories
- > =============================
- >
- > Executable programs sometimes do not record the directories of the
- > source files from which they were compiled, just the names. Even
- > when they do, the directories could be moved between the compilation
- > and your debugging session. GDB has a list of directories to search
- > for source files; this is called the "source path". Each time GDB
- > wants a source file, it tries all the directories in the list, in
- > the order they are present in the list, until it finds a file with
- > the desired name. Note that the executable search path is *not*
- > used for this purpose. Neither is the current working directory,
- > unless it happens to be in the source path.
- >
- > If GDB can't find a source file in the source path, and the object
- > program records a directory, GDB tries that directory too. If the
- > source path is empty, and there is no record of the compilation
- > directory, GDB will, as a last resort, look in the current directory.
- >
- > Whenever you reset or rearrange the source path, GDB will clear
- > out any information it has cached about where source files are
- > found, where each line is in the file, etc.
- >
- > When you start GDB, its source path is empty. To add other
- > directories, use the `directory' command.
- >
- > `directory DIRNAME ...'
- > Add directory DIRNAME to the front of the source path. Several
- > directory names may be given to this command, separated by `:'
- > or whitespace. You may specify a directory that is already in
- > the source path; this moves it forward, so it will be searched
- > sooner.
- >
- > You can use the string `$cdir' to refer to the compilation
- > directory (if one is recorded), and `$cwd' to refer to the
- > current working directory. `$cwd' is not the same as `.'--the
- > former tracks the current working directory as it changes
- > during your GDB session, while the latter is immediately
- > expanded to the current directory at the time you add an entry
- > to the source path.
- >
- > `directory'
- > Reset the source path to empty again. This requires confirmation.
- >
- > `show directories'
- > Print the source path: show which directories it contains.
- >
- > If your source path is cluttered with directories that are no
- > longer
- > of interest, GDB may sometimes cause confusion by finding the wrong
- > versions of source. You can correct the situation as follows:
- >
- > 1. Use `directory' with no argument to reset the source path to
- > empty.
- >
- > 2. Use `directory' with suitable arguments to reinstall the
- > directories you want in the source path. You can add all the
- > directories in one command.
- >
- >
- 75,82c137,144
- < 0x63e4 builtin_init+5340: ble 0x63f8 builtin_init+5360
- < 0x63e8 builtin_init+5344: sethi %hi(0x4c00), %o0
- < 0x63ec builtin_init+5348: ld [%i1+4], %o0
- < 0x63f0 builtin_init+5352: b 0x63fc builtin_init+5364
- < 0x63f4 builtin_init+5356: ld [%o0+4], %o0
- < 0x63f8 builtin_init+5360: or %o0, 0x1a4, %o0
- < 0x63fc builtin_init+5364: call 0x9288 path_search
- < 0x6400 builtin_init+5368: nop
- ---
- > 0x63e4 builtin_init+5340: ble 0x63f8 builtin_init+5360
- > 0x63e8 builtin_init+5344: sethi %hi(0x4c00), %o0
- > 0x63ec builtin_init+5348: ld [%i1+4], %o0
- > 0x63f0 builtin_init+5352: b 0x63fc builtin_init+5364
- > 0x63f4 builtin_init+5356: ld [%o0+4], %o0
- > 0x63f8 builtin_init+5360: or %o0, 0x1a4, %o0
- > 0x63fc builtin_init+5364: call 0x9288 path_search
- > 0x6400 builtin_init+5368: nop
- 87c149
- < File: gdb.info, Node: Data, Next: Symbols, Prev: Source, Up: Top
- ---
- > File: gdb.info, Node: Data, Next: Cplusplus, Prev: Source, Up: Top
- 93,95c155,156
- < command
- < (abbreviated `p'), or its synonym `inspect'. It evaluates and
- < prints the value of any valid expression of the language the program
- ---
- > command (abbreviated `p'), or its synonym `inspect'. It evaluates
- > and prints the value of an expression of the language your program
- 100,101c161,162
- < where EXP is any valid expression (in the source language), and the
- < value of EXP is printed in a format appropriate to its data type.
- ---
- > where EXP is an expression (in the source language), and the value of
- > EXP is printed in a format appropriate to its data type.
- 106a168,171
- > If you're interested in information about types, or about how the
- > fields of a struct or class are declared, use the `ptype EXP'
- > command rather than `print'. *Note Symbols::.
- >
- 109,119c174,184
- < * Expressions:: Expressions
- < * Variables:: Program Variables
- < * Arrays:: Artificial Arrays
- < * Output formats:: Output formats
- < * Memory:: Examining Memory
- < * Auto Display:: Automatic Display
- < * Print Settings:: Print Settings
- < * Value History:: Value History
- < * Convenience Vars:: Convenience Variables
- < * Registers:: Registers
- < * Floating Point Hardware:: Floating Point Hardware
- ---
- > * Expressions:: Expressions
- > * Variables:: Program Variables
- > * Arrays:: Artificial Arrays
- > * Output formats:: Output formats
- > * Memory:: Examining Memory
- > * Auto Display:: Automatic Display
- > * Print Settings:: Print Settings
- > * Value History:: Value History
- > * Convenience Vars:: Convenience Variables
- > * Registers:: Registers
- > * Floating Point Hardware:: Floating Point Hardware
- 132,133c197
- < include symbols defined by preprocessor `#define' commands,
- < or C++ expressions involving `::', the name resolution operator.
- ---
- > include symbols defined by preprocessor `#define' commands.
- 566c630
- < 530 if (lquote != def_lquote)
- ---
- > 530 if (lquote != def_lquote)
- 576c640
- < 530 if (lquote != def_lquote)
- ---
- > 530 if (lquote != def_lquote)
- 855c919
- < Machine register contents can be referred to in expressions as
- ---
- > You can refer to machine register contents, in expressions, as
- 862,863c926,927
- < Print the names and values of all registers (in the selected
- < stack frame).
- ---
- > Print the names and values of all registers except
- > floating-point registers (in the selected stack frame).
- 864a929,932
- > `info all-registers'
- > Print the names and values of all registers, including
- > floating-point registers.
- >
- 947c1015,1120
- < File: gdb.info, Node: Symbols, Next: Altering, Prev: Data, Up: Top
- ---
- > File: gdb.info, Node: Cplusplus, Next: Symbols, Prev: Data, Up: Top
- >
- > C++ and GDB
- > ***********
- >
- > GDB includes facilities to let you debug C++ programs naturally
- > and easily. The GNU C++ compiler and GDB implement the support for
- > these facilities together. Therefore, to debug your C++ code most
- > effectively, you must compile your C++ programs with the GNU C++
- > compiler, `g++'.
- >
- > * Menu:
- >
- > * Cplusplus expressions:: C++ Expressions
- > * Cplusplus commands:: GDB Commands for C++
- >
- >
- > File: gdb.info, Node: Cplusplus expressions, Next: Cplusplus commands, Prev: Cplusplus, Up: Cplusplus
- >
- > C++ Expressions
- > ===============
- >
- > Since C++ is closely related to C, all the facilities for
- > evaluating C expressions (*note Expressions::.) continue to work in
- > C++. GDB's expression handling also has the following extensions to
- > interpret a significant subset of C++ expressions:
- >
- > 1. Member function calls are allowed; you can use expressions like
- >
- > count = aml->GetOriginal(x, y)
- >
- > 2. While a member function is active (in the selected stack frame),
- > your expressions have the same namespace available as the
- > member function; that is, GDB allows implicit references to the
- > class instance pointer `this' following the same rules as C++.
- >
- > 3. You can call overloaded functions; GDB will resolve the function
- > call to the right definition, with one restriction--you must
- > use arguments of the type required by the function that you
- > want to call. GDB will not perform conversions requiring
- > constructors or user-defined type operators.
- >
- > 4. GDB understands variables declared as C++ references; you can
- > use them in expressions just as you do in C++ source--they are
- > automatically dereferenced.
- >
- > In the parameter list shown when GDB displays a frame, the
- > values of reference variables are not displayed (unlike other
- > variables); this avoids clutter, since references are often
- > used for large structures. The *address* of a reference
- > variable is always shown, unless you've specified `set print
- > address off'.
- >
- > 5. GDB supports the C++ name resolution operator `::'--your
- > expressions can use it just as expressions in your program do.
- > GDB also allows resolving name scope by reference to source
- > files, in both C and C++ debugging; *note Variables::..
- >
- >
- > File: gdb.info, Node: Cplusplus commands, Prev: Cplusplus expressions, Up: Cplusplus
- >
- > GDB Commands for C++
- > ====================
- >
- > Some GDB commands are particularly useful with C++, and some are
- > designed specifically for use with C++. Here is a summary:
- >
- > `breakpoint menus'
- > When you want a breakpoint in a function whose name is
- > overloaded, GDB's breakpoint menus help you specify which
- > function definition you want. *Note Breakpoint Menus::.
- >
- > `rbreak REGEX'
- > Setting breakpoints using regular expressions is helpful for
- > setting breakpoints on overloaded functions that are not
- > members of any special classes. *Note Set Breaks::.
- >
- > `catch EXCEPTIONS'
- > `info catch'
- > Debug C++ exception handling using these commands. *Note
- > Exception Handling::.
- >
- > `ptype TYPENAME'
- > Print inheritance relationships as well as other information for
- > type TYPENAME. *Note Symbols::.
- >
- > `set print demangle'
- > `show print demangle'
- > `set print asm-demangle'
- > `show print asm-demangle'
- > Control whether C++ symbols display in their source form, both
- > when displaying code as C++ source and when displaying
- > disassemblies. *Note Print Settings::.
- >
- > `set print object'
- > `show print object'
- > Choose whether to print derived (actual) or declared types of
- > objects. *Note Print Settings::.
- >
- > `set print vtbl'
- > `show print vtbl'
- > Control the format for printing virtual function tables. *Note
- > Print Settings::.
- >
- >
- > File: gdb.info, Node: Symbols, Next: Altering, Prev: Cplusplus, Up: Top
- 1024,1026c1197,1199
- < there is debugging information, organized into two lists: those
- < for which symbols have been read in, and those for which
- < symbols will be read in on demand.
- ---
- > there is debugging information, organized into two lists: files
- > whose symbols have already been read, and files whose symbols
- > will be read when needed.
- 1047,1048c1220,1226
- < Write a complete dump of the debugger's symbol data into the
- < file FILENAME.
- ---
- > Write a dump of debugging symbol data into the file FILENAME.
- > Only symbols with debugging data are included. GDB includes
- > all the symbols it already knows about: that is, FILENAME
- > reflects symbols for only those files whose symbols GDB has read.
- > You can find out which files these are using the command `info
- > files'. The description of `symbol-file' describes how GDB
- > reads symbols; both commands are described under *Note Files::.
- 1068,1072c1246,1250
- < * Assignment:: Assignment to Variables
- < * Jumping:: Continuing at a Different Address
- < * Signaling:: Giving the Program a Signal
- < * Returning:: Returning from a Function
- < * Calling:: Calling your Program's Functions
- ---
- > * Assignment:: Assignment to Variables
- > * Jumping:: Continuing at a Different Address
- > * Signaling:: Giving the Program a Signal
- > * Returning:: Returning from a Function
- > * Calling:: Calling your Program's Functions
- 1134,1253d1311
- <
- <
- < File: gdb.info, Node: Jumping, Next: Signaling, Prev: Assignment, Up: Altering
- <
- < Continuing at a Different Address
- < =================================
- <
- < Ordinarily, when you continue the program, you do so at the place
- < where it stopped, with the `continue' command. You can instead
- < continue at an address of your own choosing, with the following
- < commands:
- <
- < `jump LINESPEC'
- < Resume execution at line LINESPEC. Execution will stop
- < immediately if there is a breakpoint there. *Note List:: for a
- < description of the different forms of LINESPEC.
- <
- < The `jump' command does not change the current stack frame, or
- < the stack pointer, or the contents of any memory location or
- < any register other than the program counter. If line LINESPEC
- < is in a different function from the one currently executing,
- < the results may be bizarre if the two functions expect
- < different patterns of arguments or of local variables. For
- < this
- < reason, the `jump' command requests confirmation if the
- < specified line is not in the function currently executing.
- < However, even bizarre results are predictable if you are well
- < acquainted with the machine-language code of the program.
- <
- < `jump *ADDRESS'
- < Resume execution at the instruction at address ADDRESS.
- <
- < You can get much the same effect as the `jump' command by storing
- < a new value into the register `$pc'. The difference is that this
- < does not start the program running; it only changes the address
- < where it *will* run when it is continued. For example,
- <
- < set $pc = 0x485
- <
- < causes the next `continue' command or stepping command to execute at
- < address 0x485, rather than at the address where the program stopped.
- < *Note Continuing and Stepping::.
- <
- < The most common occasion to use the `jump' command is to back up,
- < perhaps with more breakpoints set, over a portion of a program that
- < has already executed, in order to examine its execution in more
- < detail.
- <
- <
- < File: gdb.info, Node: Signaling, Next: Returning, Prev: Jumping, Up: Altering
- <
- < Giving the Program a Signal
- < ===========================
- <
- < `signal SIGNALNUM'
- < Resume execution where the program stopped, but give it
- < immediately the signal number SIGNALNUM.
- <
- < Alternatively, if SIGNALNUM is zero, continue execution without
- < giving a signal. This is useful when the program stopped on
- < account of a signal and would ordinary see the signal when
- < resumed with the `continue' command; `signal 0' causes it to
- < resume without a signal.
- <
- < `signal' does not repeat when you press RET a second time after
- < executing the command.
- <
- <
- < File: gdb.info, Node: Returning, Next: Calling, Prev: Signaling, Up: Altering
- <
- < Returning from a Function
- < =========================
- <
- < `return'
- < `return EXPRESSION'
- < You can cancel execution of a function call with the `return'
- < command. If you give an EXPRESSION argument, its value is used
- < as the function's return value.
- <
- < When you use `return', GDB discards the selected stack frame (and
- < all frames within it). You can think of this as making the
- < discarded frame return prematurely. If you wish to specify a value
- < to be returned, give that value as the argument to `return'.
- <
- < This pops the selected stack frame (*note Selection::.), and any
- < other frames inside of it, leaving its caller as the innermost
- < remaining frame. That frame becomes selected. The specified value
- < is stored in the registers used for returning values of functions.
- <
- < The `return' command does not resume execution; it leaves the
- < program stopped in the state that would exist if the function had
- < just returned. In contrast, the `finish' command (*note Continuing
- < and Stepping::.) resumes execution until the selected stack frame
- < returns naturally.
- <
- <
- < File: gdb.info, Node: Calling, Prev: Returning, Up: Altering
- <
- < Calling your Program's Functions
- < ================================
- <
- < `call EXPR'
- < Evaluate the expression EXPR without displaying `void' returned
- < values.
- <
- < You can use this variant of the `print' command if you want to
- < execute a function from your program, but without cluttering the
- < output with `void' returned values. The result is printed and saved
- < in the value history, if it is not void.
- <
- <
- < File: gdb.info, Node: GDB Files, Next: Targets, Prev: Altering, Up: Top
- <
- < GDB's Files
- < ***********
- <
- < * Menu:
- <
- < * Files:: Commands to Specify Files
- < * Symbol Errors:: Errors Reading Symbol Files
- diff -r gdb-3.98/gdb/gdb.info-4 gdb-4.0/gdb/gdb.info-4
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 27a28,147
- > File: gdb.info, Node: Jumping, Next: Signaling, Prev: Assignment, Up: Altering
- >
- > Continuing at a Different Address
- > =================================
- >
- > Ordinarily, when you continue the program, you do so at the place
- > where it stopped, with the `continue' command. You can instead
- > continue at an address of your own choosing, with the following
- > commands:
- >
- > `jump LINESPEC'
- > Resume execution at line LINESPEC. Execution will stop
- > immediately if there is a breakpoint there. *Note List:: for a
- > description of the different forms of LINESPEC.
- >
- > The `jump' command does not change the current stack frame, or
- > the stack pointer, or the contents of any memory location or
- > any register other than the program counter. If line LINESPEC
- > is in a different function from the one currently executing,
- > the results may be bizarre if the two functions expect
- > different patterns of arguments or of local variables. For
- > this
- > reason, the `jump' command requests confirmation if the
- > specified line is not in the function currently executing.
- > However, even bizarre results are predictable if you are well
- > acquainted with the machine-language code of the program.
- >
- > `jump *ADDRESS'
- > Resume execution at the instruction at address ADDRESS.
- >
- > You can get much the same effect as the `jump' command by storing
- > a new value into the register `$pc'. The difference is that this
- > does not start the program running; it only changes the address
- > where it *will* run when it is continued. For example,
- >
- > set $pc = 0x485
- >
- > causes the next `continue' command or stepping command to execute at
- > address 0x485, rather than at the address where the program stopped.
- > *Note Continuing and Stepping::.
- >
- > The most common occasion to use the `jump' command is to back up,
- > perhaps with more breakpoints set, over a portion of a program that
- > has already executed, in order to examine its execution in more
- > detail.
- >
- >
- > File: gdb.info, Node: Signaling, Next: Returning, Prev: Jumping, Up: Altering
- >
- > Giving the Program a Signal
- > ===========================
- >
- > `signal SIGNALNUM'
- > Resume execution where the program stopped, but give it
- > immediately the signal number SIGNALNUM.
- >
- > Alternatively, if SIGNALNUM is zero, continue execution without
- > giving a signal. This is useful when the program stopped on
- > account of a signal and would ordinary see the signal when
- > resumed with the `continue' command; `signal 0' causes it to
- > resume without a signal.
- >
- > `signal' does not repeat when you press RET a second time after
- > executing the command.
- >
- >
- > File: gdb.info, Node: Returning, Next: Calling, Prev: Signaling, Up: Altering
- >
- > Returning from a Function
- > =========================
- >
- > `return'
- > `return EXPRESSION'
- > You can cancel execution of a function call with the `return'
- > command. If you give an EXPRESSION argument, its value is used
- > as the function's return value.
- >
- > When you use `return', GDB discards the selected stack frame (and
- > all frames within it). You can think of this as making the
- > discarded frame return prematurely. If you wish to specify a value
- > to be returned, give that value as the argument to `return'.
- >
- > This pops the selected stack frame (*note Selection::.), and any
- > other frames inside of it, leaving its caller as the innermost
- > remaining frame. That frame becomes selected. The specified value
- > is stored in the registers used for returning values of functions.
- >
- > The `return' command does not resume execution; it leaves the
- > program stopped in the state that would exist if the function had
- > just returned. In contrast, the `finish' command (*note Continuing
- > and Stepping::.) resumes execution until the selected stack frame
- > returns naturally.
- >
- >
- > File: gdb.info, Node: Calling, Prev: Returning, Up: Altering
- >
- > Calling your Program's Functions
- > ================================
- >
- > `call EXPR'
- > Evaluate the expression EXPR without displaying `void' returned
- > values.
- >
- > You can use this variant of the `print' command if you want to
- > execute a function from your program, but without cluttering the
- > output with `void' returned values. The result is printed and saved
- > in the value history, if it is not void.
- >
- >
- > File: gdb.info, Node: GDB Files, Next: Targets, Prev: Altering, Up: Top
- >
- > GDB's Files
- > ***********
- >
- > * Menu:
- >
- > * Files:: Commands to Specify Files
- > * Symbol Errors:: Errors Reading Symbol Files
- >
- >
- 152,155c272,275
- < when that file has been dynamically loaded (by some other
- < means) into the program that is running. ADDRESS should be the
- < memory address at which the file has been loaded; GDB cannot
- < figure this out for itself.
- ---
- > when FILENAME has been dynamically loaded (by some other means)
- > into the program that is running. ADDRESS should be the memory
- > address at which the file has been loaded; GDB cannot figure
- > this out for itself.
- 182c302,303
- < use the following commands:
- ---
- > use
- > the following commands:
- 207c328
- < While a symbol file is being read, GDB will occasionally encounter
- ---
- > While reading a symbol file, GDB will occasionally encounter
- 209,213c330,337
- < in compiler output. By default, it prints one message about each
- < such type of problem, no matter how many times the problem occurs.
- < You can ask it to print more messages, to see how many times the
- < problems occur, or can shut the messages off entirely, with the `set
- < complaints' command (*Note Messages/Warnings::).
- ---
- > in compiler output. By default, GDB does not notify you of such
- > problems, since they're relatively common and primarily of interest
- > to people debugging compilers. If you are interested in seeing
- > information about ill-constructed symbol tables, you can either ask
- > GDB to print only one message about each such type of problem, no
- > matter how many times the problem occurs; or you can ask GDB to
- > print more messages, to see how many times the problems occur, with
- > the `set complaints' command (*Note Messages/Warnings::).
- 293,295c417,419
- < * Active Targets:: Active Targets
- < * Target Commands:: Commands for Managing Targets
- < * Remote:: Remote Debugging
- ---
- > * Active Targets:: Active Targets
- > * Target Commands:: Commands for Managing Targets
- > * Remote:: Remote Debugging
- 836,841c960,965
- < * Prompt:: Prompt
- < * Editing:: Command Editing
- < * History:: Command History
- < * Screen Size:: Screen Size
- < * Numbers:: Numbers
- < * Messages/Warnings:: Optional Warnings and Messages
- ---
- > * Prompt:: Prompt
- > * Editing:: Command Editing
- > * History:: Command History
- > * Screen Size:: Screen Size
- > * Numbers:: Numbers
- > * Messages/Warnings:: Optional Warnings and Messages
- 851,854c975,978
- < change
- < the prompt string with the `set prompt' command. For instance, when
- < debugging GDB with GDB, it is useful to change the prompt in one of
- < the GDBs so that you can always tell which one you are talking to.
- ---
- > change the prompt string with the `set prompt' command. For
- > instance, when debugging GDB with GDB, it is useful to change the
- > prompt in one of the GDBs so that you can always tell which one you
- > are talking to.
- 1044,1048c1168,1169
- < object file, it prints a single message about each type of problem
- < it finds, then shuts up (*note Symbol Errors::.). You can suppress
- < these
- < messages, or allow more than one such message to be printed if you
- < want to see how frequent the problems are.
- ---
- > object file, it is silent; but if you are debugging a compiler, you
- > may find this information useful (*note Symbol Errors::.).
- 1079a1201,1224
- > Some systems allow individual object files that make up your
- > program
- > to be replaced without stopping and restarting your program. For
- > example, in VxWorks you can simply recompile a defective object file
- > and keep on running. If you're running on one of these systems, you
- > can allow GDB to reload the symbols for automatically relinked
- > modules:
- >
- > `set symbol-reloading on'
- > Replace symbol definitions for the corresponding source file
- > when an object file with a particular name is seen again.
- >
- > `set symbol-reloading off'
- > Don't replace symbol definitions when re-encountering object
- > files of the same name. This is the default state; if you're
- > not running on a system that permits automatically relinking
- > modules, you should leave `symbol-reloading' off, since
- > otherwise GDB may discard symbols when linking large programs,
- > that may contain several modules (from different directories or
- > libraries) with the same name.
- >
- > `show symbol-reloading'
- > Show the current `on' or `off' setting.
- >
- 1088,1089c1233
- < unit:
- < user-defined commands and command files.
- ---
- > unit: user-defined commands and command files.
- 1093,1095c1237,1239
- < * Define:: User-Defined Commands
- < * Command Files:: Command Files
- < * Output:: Commands for Controlled Output
- ---
- > * Define:: User-Defined Commands
- > * Command Files:: Command Files
- > * Output:: Commands for Controlled Output
- 1176,1239d1319
- <
- <
- < File: gdb.info, Node: Output, Prev: Command Files, Up: Sequences
- <
- < Commands for Controlled Output
- < ==============================
- <
- < During the execution of a command file or a user-defined command,
- < normal GDB output is suppressed; the only output that appears is
- < what is explicitly printed by the commands in the definition. This
- < section describes three commands useful for generating exactly the
- < output
- < you want.
- <
- < `echo TEXT'
- < Print TEXT. Nonprinting characters can be included in TEXT
- < using C escape sequences, such as `\n' to print a newline. No
- < newline will be printed unless you specify one. In addition to
- < the standard C escape sequences, a backslash followed by a
- < space stands for a space. This is useful for outputting a
- < string with spaces at the beginning or the end, since leading
- < and trailing spaces are otherwise trimmed from all arguments.
- < Thus, to print ` and foo = ', use the command `echo \ and foo =
- < \ '.
- <
- < A backslash at the end of TEXT can be used, as in C, to continue
- < the command onto subsequent lines. For example,
- <
- < echo This is some text\n\
- < which is continued\n\
- < onto several lines.\n
- <
- < produces the same output as
- <
- < echo This is some text\n
- < echo which is continued\n
- < echo onto several lines.\n
- <
- < `output EXPRESSION'
- < Print the value of EXPRESSION and nothing but that value: no
- < newlines, no `$NN = '. The value is not entered in the value
- < history either. *Note Expressions:: for more information on
- < expressions.
- <
- < `output/FMT EXPRESSION'
- < Print the value of EXPRESSION in format FMT. You can use the
- < same formats as for `print'; *note Output formats::., for more
- < information.
- <
- < `printf STRING, EXPRESSIONS...'
- < Print the values of the EXPRESSIONS under the control of STRING.
- < The EXPRESSIONS are separated by commas and may be either
- < numbers or pointers. Their values are printed as specified by
- < STRING, exactly as if the program were to execute
- <
- < printf (STRING, EXPRESSIONS...);
- <
- < For example, you can print two values in hex like this:
- <
- < printf "foo, bar-foo = 0x%x, 0x%x\n", foo, bar-foo
- <
- < The only backslash-escape sequences that you can use in the
- < format string are the simple ones that consist of backslash
- < followed by a letter.
- diff -r gdb-3.98/gdb/gdb.info-5 gdb-4.0/gdb/gdb.info-5
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 27a28,91
- > File: gdb.info, Node: Output, Prev: Command Files, Up: Sequences
- >
- > Commands for Controlled Output
- > ==============================
- >
- > During the execution of a command file or a user-defined command,
- > normal GDB output is suppressed; the only output that appears is
- > what is explicitly printed by the commands in the definition. This
- > section describes three commands useful for generating exactly the
- > output
- > you want.
- >
- > `echo TEXT'
- > Print TEXT. Nonprinting characters can be included in TEXT
- > using C escape sequences, such as `\n' to print a newline. No
- > newline will be printed unless you specify one. In addition to
- > the standard C escape sequences, a backslash followed by a
- > space stands for a space. This is useful for outputting a
- > string with spaces at the beginning or the end, since leading
- > and trailing spaces are otherwise trimmed from all arguments.
- > Thus, to print ` and foo = ', use the command `echo \ and foo =
- > \ '.
- >
- > A backslash at the end of TEXT can be used, as in C, to continue
- > the command onto subsequent lines. For example,
- >
- > echo This is some text\n\
- > which is continued\n\
- > onto several lines.\n
- >
- > produces the same output as
- >
- > echo This is some text\n
- > echo which is continued\n
- > echo onto several lines.\n
- >
- > `output EXPRESSION'
- > Print the value of EXPRESSION and nothing but that value: no
- > newlines, no `$NN = '. The value is not entered in the value
- > history either. *Note Expressions:: for more information on
- > expressions.
- >
- > `output/FMT EXPRESSION'
- > Print the value of EXPRESSION in format FMT. You can use the
- > same formats as for `print'; *note Output formats::., for more
- > information.
- >
- > `printf STRING, EXPRESSIONS...'
- > Print the values of the EXPRESSIONS under the control of STRING.
- > The EXPRESSIONS are separated by commas and may be either
- > numbers or pointers. Their values are printed as specified by
- > STRING, exactly as if the program were to execute
- >
- > printf (STRING, EXPRESSIONS...);
- >
- > For example, you can print two values in hex like this:
- >
- > printf "foo, bar-foo = 0x%x, 0x%x\n", foo, bar-foo
- >
- > The only backslash-escape sequences that you can use in the
- > format string are the simple ones that consist of backslash
- > followed by a letter.
- >
- >
- 192,193c256,257
- < * Bug Criteria:: Have You Found a Bug?
- < * Bug Reporting:: How to Report Bugs
- ---
- > * Bug Criteria:: Have You Found a Bug?
- > * Bug Reporting:: How to Report Bugs
- 426,428c490,492
- < GDB is distributed with a `configure' script that automates the
- < process of preparing GDB for installation; you can then use `make'
- < to build the `gdb' program.
- ---
- > GDB comes with a `configure' script that automates the process of
- > preparing GDB for installation; you can then use `make' to build the
- > `gdb' program.
- 430,440c494,499
- < The `configure' script that's specific to GDB is distributed in
- < the main GDB source directory. However, building GDB also requires
- < several other directories of source common to multiple GNU programs.
- < These directories (GNU libraries and includes) are distributed
- < separately, but their `configure' scripts and `Makefile's are
- < designed to work together. To ensure that GDB's `Makefile' can find
- < all the pieces, you should make a single overall directory to hold
- < the directories of source for GNU libraries and includes, and you
- < should install the GDB source directory there too. In this
- < Appendix, we refer to the directory of GNU source directories as
- < GNUSRC.
- ---
- > The gdb distribution includes all the source code you need for gdb
- > in a single directory `gdb-4.0'. That directory in turn contains:
- >
- > `gdb-4.0/configure'
- > Overall script for configuring GDB and all its supporting
- > libraries.
- 442,444c501
- < At a minimum, to build GDB you need the directories
- <
- < `GNUSRC/gdb'
- ---
- > `gdb-4.0/gdb'
- 447c504
- < `GNUSRC/bfd'
- ---
- > `gdb-4.0/bfd'
- 450c507
- < `GNUSRC/include'
- ---
- > `gdb-4.0/include'
- 453c510
- < `GNUSRC/libiberty'
- ---
- > `gdb-4.0/libiberty'
- 456c513
- < `GNUSRC/readline'
- ---
- > `gdb-4.0/readline'
- 459,461c516,517
- < Each of these directories has its own `configure' script. GNUSRC has
- < an overall `configure' script, which is distributed with the GNU
- < libraries and includes.
- ---
- > Each of these directories has its own `configure' script, which are
- > used by the overall `configure' script in `gdb-4.0'.
- 463,465c519,521
- < `configure' is designed to be called recursively, so it is most
- < convenient to run `configure' from the GNUSRC directory. The
- < simplest way to configure and build GDB is the following:
- ---
- > It is most convenient to run `configure' from the `gdb-4.0'
- > directory. The simplest way to configure and build GDB is the
- > following:
- 467c523
- < cd GNUSRC
- ---
- > cd gdb-4.0
- 471,475c527,531
- < where HOST is something like `sun4' or `vax', that identifies the
- < platform where GDB will run. This builds the three libraries `bfd',
- < `readline', and `libiberty', then `gdb' itself. The configured
- < source files, and the binaries, are left in the corresponding source
- < directories.
- ---
- > where HOST is something like `sun4' or `decstation', that identifies
- > the platform where GDB will run. This builds the three libraries
- > `bfd', `readline', and `libiberty', then `gdb' itself. The
- > configured source files, and the binaries, are left in the
- > corresponding source directories.
- 485,487c541,544
- < * Subdirectories:: Configuration subdirectories
- < * configure Options:: Summary of options for configure
- < * Formatting Manual:: How to format and print this manual
- ---
- > * Subdirectories:: Configuration subdirectories
- > * Config Names:: Specifying names for hosts and targets
- > * configure Options:: Summary of options for configure
- > * Formatting Manual:: How to format and print GDB documentation
- 490c547
- < File: gdb.info, Node: Subdirectories, Next: configure Options, Prev: Installing GDB, Up: Installing GDB
- ---
- > File: gdb.info, Node: Subdirectories, Next: Config Names, Prev: Installing GDB, Up: Installing GDB
- 495,503c552,564
- < If you build GDB for several host or target machines, and if your
- < `make' program handles the `VPATH' feature (GNU `make' does), it is
- < most convenient instead to build the different GDB configurations in
- < subdirectories (separate from the source). `configure' does this
- < for you when you simultaneously specify several configurations; but
- < it's a good habit even for a single configuration. You can specify
- < the use of subdirectories using the `+forcesubdirs' option
- < (abbreviated `+f'). For example, you can build GDB on a Sun 4 as
- < follows:
- ---
- > If you want to run GDB versions for several host or target
- > machines, you'll need a different gdb compiled for each combination
- > of host and target. `configure' is designed to make this easy by
- > allowing you to generate each configuration in a separate
- > subdirectory. If your `make' program handles the `VPATH' feature
- > (GNU `make' does), running `make' in each of these directories then
- > builds the gdb program specified there.
- >
- > `configure' creates these subdirectories for you when you
- > simultaneously specify several configurations; but it's a good habit
- > even for a single configuration. You can specify the use of
- > subdirectories using the `+subdirs' option (abbreviated `+sub').
- > For example, you can build GDB on a Sun 4 as follows:
- 505,507c566,568
- < cd GNUSRC
- < ./configure +f sun4
- < cd Host-sun4/Target-sun4
- ---
- > cd gdb-4.0
- > ./configure +sub sun4
- > cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
- 511,521c572,585
- < libraries, it creates nested directories `Host-HOST/Target-MACHINE'.
- < This is because GDB can be configured for cross-compiling: GDB can
- < run on one machine (the host) while debugging programs that run on
- < another machine (the target). You specify cross-debugging targets
- < by giving the `+target=MACHINE' option to `configure'. Specifying
- < only hosts still gives you two levels of subdirectory for each host,
- < with the same machine-name suffix on both. On the other hand,
- < whenever you specify both hosts and targets on the same command
- < line, `configure' creates all combinations of the hosts and targets
- < you
- < list.
- ---
- > libraries, it creates nested directories `Host-HOST/Target-TARGET'.
- > (As you see in the example, the names used for HOST and TARGET may
- > be expanded from your `configure' argument; *note Config Names::.).
- > `configure' uses these two directory levels because GDB can be
- > configured for cross-compiling: GDB can run on one machine (the
- > host) while debugging programs that run on another machine (the
- > target). You specify cross-debugging targets by giving the
- > `+target=TARGET' option to `configure'. Specifying only hosts still
- > gives you two levels of subdirectory for each host, with the same
- > configuration suffix on both; that is, if you give any number of
- > hosts but no targets, GDB will be configured for native debugging on
- > each host. On the other hand, whenever you specify both hosts and
- > targets on the same command line, `configure' creates all
- > combinations of the hosts and targets you list.
- 526c590
- < have `Host-HOST/Target-MACHINE' subdirectories, run `make' in those
- ---
- > have `Host-HOST/Target-TARGET' subdirectories, run `make' in those
- 530,531c594,595
- < recursively, so that typing `make' in GNUSRC (or in a
- < `GNUSRC/Host-HOST/Target-MACHINE' subdirectory) builds all the
- ---
- > recursively, so that typing `make' in `gdb-4.0' (or in a
- > `gdb-4.0/Host-HOST/Target-TARGET' subdirectory) builds all the
- 534c598
- < If you run `configure' from a directory (such as GNUSRC) that
- ---
- > If you run `configure' from a directory (such as `gdb-4.0') that
- 536c600
- < `configure' creates the `Host-HOST/Target-MACHINE' subdirectories in
- ---
- > `configure' creates the `Host-HOST/Target-TARGET' subdirectories in
- 539,540c603,604
- < cd GNUSRC
- < configure sun4 +target=vx960
- ---
- > cd gdb-4.0
- > configure sun4 +target=vxworks960
- 544,548c608,620
- < GNUSRC/Host-sun4/Target-vx960
- < GNUSRC/bfd/Host-sun4/Target-vx960
- < GNUSRC/gdb/Host-sun4/Target-vx960
- < GNUSRC/libiberty/Host-sun4/Target-vx960
- < GNUSRC/readline/Host-sun4/Target-vx960
- ---
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- > gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- >
- > The `Makefile' in
- >
- > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- >
- > will `cd' to the appropriate lower-level directories, for example:
- >
- > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
- 550,552c622
- < The `Makefile' in `GNUSRC/Host-sun4/Target-vx960' will `cd' to the
- < appropriate lower-level directories (such as
- < `GNUSRC/bfd/Host-sun4/Target-vx960'), building each in turn.
- ---
- > building each in turn.
- 559c629,709
- < File: gdb.info, Node: configure Options, Next: Formatting Manual, Prev: Subdirectories, Up: Installing GDB
- ---
- > File: gdb.info, Node: Config Names, Next: configure Options, Prev: Subdirectories, Up: Installing GDB
- >
- > Specifying Names for Hosts and Targets
- > ======================================
- >
- > The specifications used for hosts and targets in the `configure'
- > script are based on a three-part naming scheme, but some short
- > predefined aliases are also supported. The full naming scheme
- > encodes three pieces of information in the following pattern:
- >
- > ARCHITECTURE-VENDOR-OS
- >
- > For example, you can use the alias `sun4' as a HOST argument or in
- > a `+target='TARGET option, but the full name of that configuration
- > specifies that the architecture is `sparc', the vendor is `sun', and
- > the operating system is `sunos4'.
- >
- > The following table shows all the architectures, hosts, and OS
- > prefixes that `configure' recognizes in GDB 4.0. Entries in the "OS
- > prefix"
- > column ending in a `*' may be followed by a release number.
- >
- >
- > ARCHITECTURE VENDOR OS prefix
- > ------------+-------------+-------------
- > | |
- > a29k | altos | aix*
- > alliant | aout | aout
- > arm | apollo | bout
- > c1 | att | bsd*
- > c2 | bout | coff
- > i386 | coff | ctix*
- > i860 | convergent | dynix*
- > i960 | convex | esix*
- > m68000 | dec | hpux*
- > m68k | encore | isc*
- > m88k | gould | mach*
- > mips | hp | newsos*
- > ns32k | ibm | nindy*
- > pyramid | intel | none
- > rs6000 | isi | osf*
- > rtpc | little | sco*
- > sparc | mips | sunos*
- > tahoe | motorola | sysv*
- > tron | ncr | ultrix*
- > vax | next | unos*
- > | none | v88r*
- > | sco | vms*
- > | sequent | vxworks*
- > | sgi |
- > | sony |
- > | sun |
- > | unicom |
- > | utek |
- > | wrs |
- >
- > *Warning:* Many combinations of architecture, vendor, and OS are
- > untested.
- >
- > The `configure' script accompanying GDB 4.0 does not provide any
- > query facility to list all supported host and target names or
- > aliases. `configure' calls the Bourne shell script `config.sub' to
- > map abbreviations to full names; you can read the script, if you
- > wish, or you can use it to test your guesses on abbreviations--for
- > example:
- >
- > % sh config.sub sun4
- > sparc-sun-sunos4
- > % sh config.sub sun3
- > m68k-sun-sunos4
- > % sh config.sub decstation
- > mips-dec-ultrix
- > % sh config.sub hp300bsd
- > m68k-hp-bsd
- > % sh config.sub i386v
- > i386-none-sysv
- > % sh config.sub i486v
- > *** No vendor: configuration `i486v' not recognized
- >
- >
- > File: gdb.info, Node: configure Options, Next: Formatting Manual, Prev: Config Names, Up: Installing GDB
- 567,568c717,718
- < configure [+destdir=DIR] [+forcesubdirs] [+norecur] [+rm]
- < [+target=MACHINE...] HOST...
- ---
- > configure [+destdir=DIR] [+subdirs] [+norecur] [+rm]
- > [+target=TARGET...] HOST...
- 571c721
- < you prefer; but options introduced with `+' may be truncated.
- ---
- > you prefer; but you may abbreviate option names if you use `+'.
- 580c730
- < `+forcesubdirs'
- ---
- > `+subdirs'
- 583c733
- < Host-MACHINE/Target-MACHINE
- ---
- > Host-HOST/Target-TARGET
- 590c740,741
- < one `+target=MACHINE' option on the `configure' command line.
- ---
- > one
- > `+target=TARGET' option on the `configure' command line.
- 597c748
- < Remove the configuration specified by other arguments.
- ---
- > Remove the configuration that the other arguments specify.
- 599c750
- < `+target=MACHINE ...'
- ---
- > `+target=TARGET ...'
- 601,605c752,754
- < specified MACHINE. You may specify as many `+target' options
- < as you wish. To see a list of available targets, execute `ls
- < tconfig' in the GDB source directory. Without this option, GDB
- < is configured to debug programs that run on the same machine
- < (HOST) as GDB itself.
- ---
- > specified TARGET. You may specify as many `+target' options as
- > you wish. Without this option, GDB is configured to debug
- > programs that run on the same machine (HOST) as GDB itself.
- 606a756,758
- > There is no convenient way to generate a list of all available
- > targets.
- >
- 609,610c761,764
- < many host names as you wish. To see a list of available hosts,
- < execute `ls xconfig' in the GDB source directory.
- ---
- > many host names as you wish.
- >
- > There is no convenient way to generate a list of all available
- > hosts.
- 622,623c776,785
- < To format the GDB manual as an Info file, you need the GNU
- < `makeinfo' program. Once you have it, you can type
- ---
- > The GDB 4.0 release includes the Info version of this manual
- > already formatted: the main Info file is `gdb-4.0/gdb/gdb.info', and
- > it
- > refers to subordinate files matching `gdb.info*' in the same
- > directory.
- >
- > If you want to make these Info files yourself from the GDB
- > manual's source, you need the GNU `makeinfo' program. Once you have
- > it,
- > you can type
- 625c787
- < cd GNUSRC/gdb
- ---
- > cd gdb-4.0/gdb
- 637c799
- < * `GNUSRC/texinfo': TeX macros defining the GNU Documentation
- ---
- > * `gdb-4.0/texinfo': TeX macros defining the GNU Documentation
- 648c810
- < cd GNUSRC/gdb
- ---
- > cd gdb-4.0/gdb
- 654,1031c816,829
- <
- < File: gdb.info, Node: Copying, Next: Index, Prev: Installing GDB, Up: Top
- <
- < GNU GENERAL PUBLIC LICENSE
- < **************************
- <
- < Version 2, June 1991
- <
- < Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- < 675 Mass Ave, Cambridge, MA 02139, USA
- <
- < Everyone is permitted to copy and distribute verbatim copies
- < of this license document, but changing it is not allowed.
- <
- < Preamble
- < ========
- <
- < The licenses for most software are designed to take away your
- < freedom to share and change it. By contrast, the GNU General Public
- < License is intended to guarantee your freedom to share and change
- < free software--to make sure the software is free for all its users.
- < This General Public License applies to most of the Free Software
- < Foundation's software and to any other program whose authors commit
- < to using it. (Some other Free Software Foundation software is
- < covered by the GNU Library General Public License instead.) You can
- < apply it to your programs, too.
- <
- < When we speak of free software, we are referring to freedom, not
- < price. Our General Public Licenses are designed to make sure that
- < you have the freedom to distribute copies of free software (and
- < charge for this service if you wish), that you receive source code
- < or can get it if you want it, that you can change the software or
- < use pieces of it in new free programs; and that you know you can do
- < these things.
- <
- < To protect your rights, we need to make restrictions that forbid
- < anyone to deny you these rights or to ask you to surrender the rights.
- < These restrictions translate to certain responsibilities for you if
- < you distribute copies of the software, or if you modify it.
- <
- < For example, if you distribute copies of such a program, whether
- < gratis or for a fee, you must give the recipients all the rights
- < that
- < you have. You must make sure that they, too, receive or can get the
- < source code. And you must show them these terms so they know their
- < rights.
- <
- < We protect your rights with two steps: (1) copyright the software,
- < and (2) offer you this license which gives you legal permission to
- < copy, distribute and/or modify the software.
- <
- < Also, for each author's protection and ours, we want to make
- < certain that everyone understands that there is no warranty for this
- < free software. If the software is modified by someone else and
- < passed on, we want its recipients to know that what they have is not
- < the original, so that any problems introduced by others will not
- < reflect on the original authors' reputations.
- <
- < Finally, any free program is threatened constantly by software
- < patents. We wish to avoid the danger that redistributors of a free
- < program will individually obtain patent licenses, in effect making
- < the program proprietary. To prevent this, we have made it clear
- < that any patent must be licensed for everyone's free use or not
- < licensed at all.
- <
- < The precise terms and conditions for copying, distribution and
- < modification follow.
- <
- < TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- <
- < 1. This License applies to any program or other work which contains
- < a notice placed by the copyright holder saying it may be
- < distributed under the terms of this General Public License.
- < The "Program", below, refers to any such program or work, and a
- < "work based on the Program" means either the Program or any
- < derivative work under copyright law: that is to say, a work
- < containing the Program or a portion of it, either verbatim or
- < with modifications and/or translated into another language.
- < (Hereinafter, translation is included without limitation in the
- < term "modification".) Each licensee is addressed as "you".
- <
- < Activities other than copying, distribution and modification
- < are not covered by this License; they are outside its scope.
- < The act of running the Program is not restricted, and the
- < output from the Program is covered only if its contents
- < constitute a work based on the Program (independent of having
- < been made by running the Program). Whether that is true
- < depends on what the Program does.
- <
- < 2. You may copy and distribute verbatim copies of the Program's
- < source code as you receive it, in any medium, provided that you
- < conspicuously and appropriately publish on each copy an
- < appropriate copyright notice and disclaimer of warranty; keep
- < intact all the notices that refer to this License and to the
- < absence of any warranty; and give any other recipients of the
- < Program a copy of this License along with the Program.
- <
- < You may charge a fee for the physical act of transferring a
- < copy, and you may at your option offer warranty protection in
- < exchange for a fee.
- <
- < 3. You may modify your copy or copies of the Program or any portion
- < of it, thus forming a work based on the Program, and copy and
- < distribute such modifications or work under the terms of
- < Section 1 above, provided that you also meet all of these
- < conditions:
- <
- < a) You must cause the modified files to carry prominent
- < notices stating that you changed the files and the date of
- < any change.
- <
- < b) You must cause any work that you distribute or publish,
- < that in whole or in part contains or is derived from the
- < Program or any part thereof, to be licensed as a whole at
- < no charge to all third parties under the terms of this
- < License.
- <
- < c) If the modified program normally reads commands
- < interactively when run, you must cause it, when started
- < running for such interactive use in the most ordinary way,
- < to print or display an announcement including an
- < appropriate copyright notice and a notice that there is no
- < warranty (or else, saying that you provide a warranty) and
- < that users may redistribute the program under these
- < conditions, and telling the user how to view a copy of
- < this License. (Exception: if the Program itself is
- < interactive but does not normally print such an
- < announcement, your work based on the Program is not
- < required to print an announcement.)
- <
- < These requirements apply to the modified work as a whole. If
- < identifiable sections of that work are not derived from the
- < Program, and can be reasonably considered independent and
- < separate works in themselves, then this License, and its terms,
- < do not apply to those sections when you distribute them as
- < separate works. But when you distribute the same sections as
- < part of a whole which is a work based on the Program, the
- < distribution of the whole must be on the terms of this License,
- < whose permissions for other licensees extend to the entire
- < whole, and thus to each and every part regardless of who wrote
- < it.
- <
- < Thus, it is not the intent of this section to claim rights or
- < contest your rights to work written entirely by you; rather,
- < the intent is to exercise the right to control the distribution
- < of derivative or collective works based on the Program.
- <
- < In addition, mere aggregation of another work not based on
- < the Program with the Program (or with a work based on the
- < Program) on a volume of a storage or distribution medium does
- < not bring the other work under the scope of this License.
- <
- < 4. You may copy and distribute the Program (or a work based on it,
- < under Section 2) in object code or executable form under the
- < terms of Sections 1 and 2 above provided that you also do one
- < of the following:
- <
- < a) Accompany it with the complete corresponding
- < machine-readable source code, which must be distributed
- < under the terms of Sections 1 and 2 above on a medium
- <
- < customarily used for software interchange; or,
- <
- < b) Accompany it with a written offer, valid for at least three
- < years, to give any third party, for a charge no more than
- < your cost of physically performing source distribution, a
- < complete machine-readable copy of the corresponding source
- < code, to be distributed under the terms of Sections 1 and
- < 2 above on a medium customarily used for software
- < interchange; or,
- <
- < c) Accompany it with the information you received as to the
- < offer to distribute corresponding source code. (This
- < alternative is allowed only for noncommercial distribution
- < and only if you received the program in object code or
- < executable form with such an offer, in accord with
- < Subsection b above.)
- <
- < The source code for a work means the preferred form of the
- < work for making modifications to it. For an executable work,
- < complete source code means all the source code for all modules
- < it contains, plus any associated interface definition files,
- < plus the scripts used to control compilation and installation
- < of the executable. However, as a special exception, the source
- < code distributed need not include anything that is normally
- < distributed (in either source or binary form) with the major
- < components (compiler, kernel, and so on) of the operating
- < system on which the executable runs, unless that component
- < itself accompanies the executable.
- <
- < If distribution of executable or object code is made by
- < offering access to copy from a designated place, then offering
- < equivalent access to copy the source code from the same place
- < counts as distribution of the source code, even though third
- < parties are not compelled to copy the source along with the
- < object code.
- <
- < 5. You may not copy, modify, sublicense, or distribute the Program
- < except as expressly provided under this License. Any attempt
- < otherwise to copy, modify, sublicense or distribute the Program
- < is void, and will automatically terminate your rights under
- < this License. However, parties who have received copies, or
- < rights, from you under this License will not have their
- < licenses terminated so long as such parties remain in full
- < compliance.
- <
- < 6. You are not required to accept this License, since you have not
- < signed it. However, nothing else grants you permission to
- < modify or distribute the Program or its derivative works.
- < These actions are prohibited by law if you do not accept this
- < License. Therefore, by modifying or distributing the Program
- < (or any work based on the Program), you indicate your
- < acceptance of this License to do so, and all its terms and
- < conditions for copying, distributing or modifying the Program
- < or works based on it.
- <
- < 7. Each time you redistribute the Program (or any work based on the
- < Program), the recipient automatically receives a license from
- < the original licensor to copy, distribute or modify the Program
- < subject to these terms and conditions. You may not impose any
- < further restrictions on the recipients' exercise of the rights
- < granted herein. You are not responsible for enforcing
- < compliance by third parties to this License.
- <
- < 8. If, as a consequence of a court judgment or allegation of patent
- < infringement or for any other reason (not limited to patent
- < issues), conditions are imposed on you (whether by court order,
- < agreement or otherwise) that contradict the conditions of this
- < License, they do not excuse you from the conditions of this
- < License. If you cannot distribute so as to satisfy
- < simultaneously your obligations under this License and any
- < other pertinent obligations, then as a consequence you may not
- < distribute the Program at all. For example, if a patent
- < license would not permit royalty-free redistribution of the
- < Program by all those who receive copies directly or indirectly
- < through you, then the only way you could satisfy both it and
- < this License would be to refrain entirely from distribution of
- < the Program.
- <
- < If any portion of this section is held invalid or
- < unenforceable under any particular circumstance, the balance of
- < the section is intended to apply and the section as a whole is
- < intended to apply in other circumstances.
- <
- < It is not the purpose of this section to induce you to
- < infringe any patents or other property right claims or to
- < contest validity of any such claims; this section has the sole
- < purpose of protecting the integrity of the free software
- < distribution system, which is implemented by public license
- < practices. Many people have made generous contributions to the
- < wide range of software distributed through that system in
- < reliance on consistent application of that system; it is up to
- < the author/donor to decide if he or she is willing to
- < distribute software through any other system and a licensee
- < cannot impose that choice.
- <
- < This section is intended to make thoroughly clear what is
- < believed to be a consequence of the rest of this License.
- <
- < 9. If the distribution and/or use of the Program is restricted in
- < certain countries either by patents or by copyrighted
- < interfaces, the original copyright holder who places the
- < Program under this License may add an explicit geographical
- < distribution limitation excluding those countries, so that
- < distribution is permitted only in or among countries not thus
- < excluded. In such case, this License incorporates the
- < limitation as if written in the body of this License.
- <
- < 10. The Free Software Foundation may publish revised and/or new
- < versions of the General Public License from time to time. Such
- < new versions will be similar in spirit to the present version,
- < but may differ in detail to address new problems or concerns.
- <
- < Each version is given a distinguishing version number. If
- < the Program specifies a version number of this License which
- < applies to it and "any later version", you have the option of
- < following the terms and conditions either of that version or of
- < any later version published by the Free Software Foundation.
- < If the Program does not specify a version number of this
- < License, you may choose any version ever published by the Free
- < Software Foundation.
- <
- < 11. If you wish to incorporate parts of the Program into other free
- < programs whose distribution conditions are different, write to
- < the author to ask for permission. For software which is
- < copyrighted by the Free Software Foundation, write to the Free
- < Software Foundation; we sometimes make exceptions for this.
- < Our decision will be guided by the two goals of preserving the
- < free status of all derivatives of our free software and of
- < promoting the sharing and reuse of software generally.
- <
- < NO WARRANTY
- <
- < 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- < WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- < LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- < HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
- < WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- < INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- <
- < MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
- < ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
- < WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
- < COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- <
- < 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- < WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- < MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- < LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- < INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- < INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
- < OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
- < BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
- < WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
- < HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- <
- < END OF TERMS AND CONDITIONS
- <
- < Applying These Terms to Your New Programs
- < =========================================
- <
- < If you develop a new program, and you want it to be of the
- < greatest possible use to the public, the best way to achieve this is
- < to make it free software which everyone can redistribute and change
- < under these terms.
- <
- < To do so, attach the following notices to the program. It is
- < safest to attach them to the start of each source file to most
- < effectively convey the exclusion of warranty; and each file should
- < have
- < at least the "copyright" line and a pointer to where the full notice
- < is found.
- <
- < ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
- < Copyright (C) 19YY NAME OF AUTHOR
- <
- < This program is free software; you can redistribute it and/or modify
- < it under the terms of the GNU General Public License as published by
- < the Free Software Foundation; either version 2 of the License, or
- < (at your option) any later version.
- <
- < This program is distributed in the hope that it will be useful,
- < but WITHOUT ANY WARRANTY; without even the implied warranty of
- < MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- < GNU General Public License for more details.
- <
- < You should have received a copy of the GNU General Public License
- < along with this program; if not, write to the Free Software
- < Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- <
- < Also add information on how to contact you by electronic and paper
- < mail.
- <
- < If the program is interactive, make it output a short notice like
- < this when it starts in an interactive mode:
- <
- < Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
- < Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- < This is free software, and you are welcome to redistribute it
- < under certain conditions; type `show c' for details.
- <
- < The hypothetical commands `show w' and `show c' should show the
- < appropriate parts of the General Public License. Of course, the
- < commands you use may be called something other than `show w' and
- < `show c'; they could even be mouse-clicks or menu items--whatever
- < suits
- < your
- < program.
- <
- < You should also get your employer (if you work as a programmer) or
- < your school, if any, to sign a "copyright disclaimer" for the
- < program, if necessary. Here is a sample; alter the names:
- <
- < Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- < `Gnomovision' (which makes passes at compilers) written by James Hacker.
- <
- < SIGNATURE OF TY COON, 1 April 1989
- < Ty Coon, President of Vice
- ---
- > You might also want hard copy of the GDB reference card. The GDB
- > 4.0 release includes an already-formatted reference card, ready for
- > printing on a PostScript printer, as `gdb-4.0/gdb/refcard.ps'. It
- > uses the most common PostScript fonts: the Times family, Courier,
- > and Symbol. If you have a PostScript printer you can print the
- > reference card by just sending `refcard.ps' to the printer.
- >
- > If you have some other kind of printer, or want to print using
- > Computer Modern fonts instead, you can still print the reference
- > card
- > if you have TeX. Format the reference card by typing
- >
- > cd gdb-4.0/gdb
- > make refcard.dvi
- 1033,1038c831,834
- < This General Public License does not permit incorporating your
- < program into proprietary programs. If your program is a subroutine
- < library, you may consider it more useful to permit linking
- < proprietary applications with the library. If this is what you want
- < to do, use the GNU Library General Public License instead of this
- < License.
- ---
- > The GDB reference card is designed to print in landscape mode on US
- > "letter" size paper; that is, on a sheet 11 inches wide by 8.5
- > inches high. You will need to specify this form of printing as an
- > option to your DVI output program.
- diff -r gdb-3.98/gdb/gdb.info-6 gdb-4.0/gdb/gdb.info-6
- 2c2
- < file gdb-all.texinfo.
- ---
- > file gdb-all.texi.
- 27a28,413
- > File: gdb.info, Node: Copying, Next: Index, Prev: Installing GDB, Up: Top
- >
- > GNU GENERAL PUBLIC LICENSE
- > **************************
- >
- > Version 2, June 1991
- >
- > Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- > 675 Mass Ave, Cambridge, MA 02139, USA
- >
- > Everyone is permitted to copy and distribute verbatim copies
- > of this license document, but changing it is not allowed.
- >
- > Preamble
- > ========
- >
- > The licenses for most software are designed to take away your
- > freedom to share and change it. By contrast, the GNU General Public
- > License is intended to guarantee your freedom to share and change
- > free software--to make sure the software is free for all its users.
- > This General Public License applies to most of the Free Software
- > Foundation's software and to any other program whose authors commit
- > to using it. (Some other Free Software Foundation software is
- > covered by the GNU Library General Public License instead.) You can
- > apply it to your programs, too.
- >
- > When we speak of free software, we are referring to freedom, not
- > price. Our General Public Licenses are designed to make sure that
- > you have the freedom to distribute copies of free software (and
- > charge for this service if you wish), that you receive source code
- > or can get it if you want it, that you can change the software or
- > use pieces of it in new free programs; and that you know you can do
- > these things.
- >
- > To protect your rights, we need to make restrictions that forbid
- > anyone to deny you these rights or to ask you to surrender the rights.
- > These restrictions translate to certain responsibilities for you if
- > you distribute copies of the software, or if you modify it.
- >
- > For example, if you distribute copies of such a program, whether
- > gratis or for a fee, you must give the recipients all the rights
- > that
- > you have. You must make sure that they, too, receive or can get the
- > source code. And you must show them these terms so they know their
- > rights.
- >
- > We protect your rights with two steps: (1) copyright the software,
- > and (2) offer you this license which gives you legal permission to
- > copy, distribute and/or modify the software.
- >
- > Also, for each author's protection and ours, we want to make
- > certain that everyone understands that there is no warranty for this
- > free software. If the software is modified by someone else and
- > passed on, we want its recipients to know that what they have is not
- > the original, so that any problems introduced by others will not
- > reflect on the original authors' reputations.
- >
- > Finally, any free program is threatened constantly by software
- > patents. We wish to avoid the danger that redistributors of a free
- > program will individually obtain patent licenses, in effect making
- > the program proprietary. To prevent this, we have made it clear
- > that any patent must be licensed for everyone's free use or not
- > licensed at all.
- >
- > The precise terms and conditions for copying, distribution and
- > modification follow.
- >
- > TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- >
- > 1. This License applies to any program or other work which contains
- > a notice placed by the copyright holder saying it may be
- > distributed under the terms of this General Public License.
- > The "Program", below, refers to any such program or work, and a
- > "work based on the Program" means either the Program or any
- > derivative work under copyright law: that is to say, a work
- > containing the Program or a portion of it, either verbatim or
- > with modifications and/or translated into another language.
- > (Hereinafter, translation is included without limitation in the
- > term "modification".) Each licensee is addressed as "you".
- >
- > Activities other than copying, distribution and modification
- > are not covered by this License; they are outside its scope.
- > The act of running the Program is not restricted, and the
- > output from the Program is covered only if its contents
- > constitute a work based on the Program (independent of having
- > been made by running the Program). Whether that is true
- > depends on what the Program does.
- >
- > 2. You may copy and distribute verbatim copies of the Program's
- > source code as you receive it, in any medium, provided that you
- > conspicuously and appropriately publish on each copy an
- > appropriate copyright notice and disclaimer of warranty; keep
- > intact all the notices that refer to this License and to the
- > absence of any warranty; and give any other recipients of the
- > Program a copy of this License along with the Program.
- >
- > You may charge a fee for the physical act of transferring a
- > copy, and you may at your option offer warranty protection in
- > exchange for a fee.
- >
- > 3. You may modify your copy or copies of the Program or any portion
- > of it, thus forming a work based on the Program, and copy and
- > distribute such modifications or work under the terms of
- > Section 1 above, provided that you also meet all of these
- > conditions:
- >
- > a) You must cause the modified files to carry prominent
- > notices stating that you changed the files and the date of
- > any change.
- >
- > b) You must cause any work that you distribute or publish,
- > that in whole or in part contains or is derived from the
- > Program or any part thereof, to be licensed as a whole at
- > no charge to all third parties under the terms of this
- > License.
- >
- > c) If the modified program normally reads commands
- > interactively when run, you must cause it, when started
- > running for such interactive use in the most ordinary way,
- > to print or display an announcement including an
- > appropriate copyright notice and a notice that there is no
- > warranty (or else, saying that you provide a warranty) and
- > that users may redistribute the program under these
- > conditions, and telling the user how to view a copy of
- > this License. (Exception: if the Program itself is
- > interactive but does not normally print such an
- > announcement, your work based on the Program is not
- > required to print an announcement.)
- >
- > These requirements apply to the modified work as a whole. If
- > identifiable sections of that work are not derived from the
- > Program, and can be reasonably considered independent and
- > separate works in themselves, then this License, and its terms,
- > do not apply to those sections when you distribute them as
- > separate works. But when you distribute the same sections as
- > part of a whole which is a work based on the Program, the
- > distribution of the whole must be on the terms of this License,
- > whose permissions for other licensees extend to the entire
- > whole, and thus to each and every part regardless of who wrote
- > it.
- >
- > Thus, it is not the intent of this section to claim rights or
- > contest your rights to work written entirely by you; rather,
- > the intent is to exercise the right to control the distribution
- > of derivative or collective works based on the Program.
- >
- > In addition, mere aggregation of another work not based on
- > the Program with the Program (or with a work based on the
- > Program) on a volume of a storage or distribution medium does
- > not bring the other work under the scope of this License.
- >
- > 4. You may copy and distribute the Program (or a work based on it,
- > under Section 2) in object code or executable form under the
- > terms of Sections 1 and 2 above provided that you also do one
- > of the following:
- >
- > a) Accompany it with the complete corresponding
- > machine-readable source code, which must be distributed
- > under the terms of Sections 1 and 2 above on a medium
- >
- > customarily used for software interchange; or,
- >
- > b) Accompany it with a written offer, valid for at least three
- > years, to give any third party, for a charge no more than
- > your cost of physically performing source distribution, a
- > complete machine-readable copy of the corresponding source
- > code, to be distributed under the terms of Sections 1 and
- > 2 above on a medium customarily used for software
- > interchange; or,
- >
- > c) Accompany it with the information you received as to the
- > offer to distribute corresponding source code. (This
- > alternative is allowed only for noncommercial distribution
- > and only if you received the program in object code or
- > executable form with such an offer, in accord with
- > Subsection b above.)
- >
- > The source code for a work means the preferred form of the
- > work for making modifications to it. For an executable work,
- > complete source code means all the source code for all modules
- > it contains, plus any associated interface definition files,
- > plus the scripts used to control compilation and installation
- > of the executable. However, as a special exception, the source
- > code distributed need not include anything that is normally
- > distributed (in either source or binary form) with the major
- > components (compiler, kernel, and so on) of the operating
- > system on which the executable runs, unless that component
- > itself accompanies the executable.
- >
- > If distribution of executable or object code is made by
- > offering access to copy from a designated place, then offering
- > equivalent access to copy the source code from the same place
- > counts as distribution of the source code, even though third
- > parties are not compelled to copy the source along with the
- > object code.
- >
- > 5. You may not copy, modify, sublicense, or distribute the Program
- > except as expressly provided under this License. Any attempt
- > otherwise to copy, modify, sublicense or distribute the Program
- > is void, and will automatically terminate your rights under
- > this License. However, parties who have received copies, or
- > rights, from you under this License will not have their
- > licenses terminated so long as such parties remain in full
- > compliance.
- >
- > 6. You are not required to accept this License, since you have not
- > signed it. However, nothing else grants you permission to
- > modify or distribute the Program or its derivative works.
- > These actions are prohibited by law if you do not accept this
- > License. Therefore, by modifying or distributing the Program
- > (or any work based on the Program), you indicate your
- > acceptance of this License to do so, and all its terms and
- > conditions for copying, distributing or modifying the Program
- > or works based on it.
- >
- > 7. Each time you redistribute the Program (or any work based on the
- > Program), the recipient automatically receives a license from
- > the original licensor to copy, distribute or modify the Program
- > subject to these terms and conditions. You may not impose any
- > further restrictions on the recipients' exercise of the rights
- > granted herein. You are not responsible for enforcing
- > compliance by third parties to this License.
- >
- > 8. If, as a consequence of a court judgment or allegation of patent
- > infringement or for any other reason (not limited to patent
- > issues), conditions are imposed on you (whether by court order,
- > agreement or otherwise) that contradict the conditions of this
- > License, they do not excuse you from the conditions of this
- > License. If you cannot distribute so as to satisfy
- > simultaneously your obligations under this License and any
- > other pertinent obligations, then as a consequence you may not
- > distribute the Program at all. For example, if a patent
- > license would not permit royalty-free redistribution of the
- > Program by all those who receive copies directly or indirectly
- > through you, then the only way you could satisfy both it and
- > this License would be to refrain entirely from distribution of
- > the Program.
- >
- > If any portion of this section is held invalid or
- > unenforceable under any particular circumstance, the balance of
- > the section is intended to apply and the section as a whole is
- > intended to apply in other circumstances.
- >
- > It is not the purpose of this section to induce you to
- > infringe any patents or other property right claims or to
- > contest validity of any such claims; this section has the sole
- > purpose of protecting the integrity of the free software
- > distribution system, which is implemented by public license
- > practices. Many people have made generous contributions to the
- > wide range of software distributed through that system in
- > reliance on consistent application of that system; it is up to
- > the author/donor to decide if he or she is willing to
- > distribute software through any other system and a licensee
- > cannot impose that choice.
- >
- > This section is intended to make thoroughly clear what is
- > believed to be a consequence of the rest of this License.
- >
- > 9. If the distribution and/or use of the Program is restricted in
- > certain countries either by patents or by copyrighted
- > interfaces, the original copyright holder who places the
- > Program under this License may add an explicit geographical
- > distribution limitation excluding those countries, so that
- > distribution is permitted only in or among countries not thus
- > excluded. In such case, this License incorporates the
- > limitation as if written in the body of this License.
- >
- > 10. The Free Software Foundation may publish revised and/or new
- > versions of the General Public License from time to time. Such
- > new versions will be similar in spirit to the present version,
- > but may differ in detail to address new problems or concerns.
- >
- > Each version is given a distinguishing version number. If
- > the Program specifies a version number of this License which
- > applies to it and "any later version", you have the option of
- > following the terms and conditions either of that version or of
- > any later version published by the Free Software Foundation.
- > If the Program does not specify a version number of this
- > License, you may choose any version ever published by the Free
- > Software Foundation.
- >
- > 11. If you wish to incorporate parts of the Program into other free
- > programs whose distribution conditions are different, write to
- > the author to ask for permission. For software which is
- > copyrighted by the Free Software Foundation, write to the Free
- > Software Foundation; we sometimes make exceptions for this.
- > Our decision will be guided by the two goals of preserving the
- > free status of all derivatives of our free software and of
- > promoting the sharing and reuse of software generally.
- >
- > NO WARRANTY
- >
- > 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
- > WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
- > LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- > HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
- > WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- > INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- >
- > MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
- > ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
- > WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
- > COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
- >
- > 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- > WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
- > MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
- > LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
- > INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- > INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
- > OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
- > BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
- > WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
- > HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- >
- > END OF TERMS AND CONDITIONS
- >
- > Applying These Terms to Your New Programs
- > =========================================
- >
- > If you develop a new program, and you want it to be of the
- > greatest possible use to the public, the best way to achieve this is
- > to make it free software which everyone can redistribute and change
- > under these terms.
- >
- > To do so, attach the following notices to the program. It is
- > safest to attach them to the start of each source file to most
- > effectively convey the exclusion of warranty; and each file should
- > have
- > at least the "copyright" line and a pointer to where the full notice
- > is found.
- >
- > ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
- > Copyright (C) 19YY NAME OF AUTHOR
- >
- > This program is free software; you can redistribute it and/or modify
- > it under the terms of the GNU General Public License as published by
- > the Free Software Foundation; either version 2 of the License, or
- > (at your option) any later version.
- >
- > This program is distributed in the hope that it will be useful,
- > but WITHOUT ANY WARRANTY; without even the implied warranty of
- > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- > GNU General Public License for more details.
- >
- > You should have received a copy of the GNU General Public License
- > along with this program; if not, write to the Free Software
- > Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- >
- > Also add information on how to contact you by electronic and paper
- > mail.
- >
- > If the program is interactive, make it output a short notice like
- > this when it starts in an interactive mode:
- >
- > Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
- > Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- > This is free software, and you are welcome to redistribute it
- > under certain conditions; type `show c' for details.
- >
- > The hypothetical commands `show w' and `show c' should show the
- > appropriate parts of the General Public License. Of course, the
- > commands you use may be called something other than `show w' and
- > `show c'; they could even be mouse-clicks or menu items--whatever
- > suits
- > your
- > program.
- >
- > You should also get your employer (if you work as a programmer) or
- > your school, if any, to sign a "copyright disclaimer" for the
- > program, if necessary. Here is a sample; alter the names:
- >
- > Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- > `Gnomovision' (which makes passes at compilers) written by James Hacker.
- >
- > SIGNATURE OF TY COON, 1 April 1989
- > Ty Coon, President of Vice
- >
- > This General Public License does not permit incorporating your
- > program into proprietary programs. If your program is a subroutine
- > library, you may consider it more useful to permit linking
- > proprietary applications with the library. If this is what you want
- > to do, use the GNU Library General Public License instead of this
- > License.
- >
- >
- 48a435,436
- > * C++: Cplusplus.
- > * C++ exception handling: Cplusplus commands.
- 50c438
- < * C++ overloading: Breakpoint Menus.
- ---
- > * C++ symbol display: Cplusplus commands.
- 55a444,445
- > * GDB reference card: Formatting Manual.
- > * GNU C++: Cplusplus.
- 74a465
- > * break in overloaded functions: Cplusplus commands.
- 79a471
- > * call overloaded functions: Cplusplus expressions.
- 91a484
- > * commands for C++: Cplusplus commands.
- 145d537
- < * exception handlers: Frame Info.
- 146a539
- > * exception handlers: Frame Info.
- 150a544
- > * expressions in C++: Cplusplus expressions.
- 156a551
- > * floating point registers: Registers.
- 165a561
- > * g++: Cplusplus.
- 184a581
- > * info all-registers: Registers.
- 220a618
- > * inheritance: Cplusplus commands.
- 235a634
- > * member functions: Cplusplus expressions.
- 237a637
- > * namespace in C++: Cplusplus expressions.
- 245a646,647
- > * overloading: Breakpoint Menus.
- > * overloading in C++: Cplusplus commands.
- 262a665,666
- > * reference card: Formatting Manual.
- > * reference declarations: Cplusplus expressions.
- 264a669
- > * reloading symbols: Messages/Warnings.
- 312a718
- > * set symbol-reloading: Messages/Warnings.
- 392a799
- > * this: Cplusplus expressions.
- 393a801
- > * type conversions in C++: Cplusplus expressions.
- diff -r gdb-3.98/gdb/gdbcore.h gdb-4.0/gdb/gdbcore.h
- 71,85d70
- <
- < /* Struct section_table maps address ranges to file sections. It is
- < mostly used with BFD files, but can be used without (e.g. for handling
- < raw disks, or files not in formats handled by BFD). */
- <
- < struct section_table {
- < CORE_ADDR addr; /* Lowest address in section */
- < CORE_ADDR endaddr; /* 1+highest address in section */
- < sec_ptr sec_ptr; /* BFD section pointer */
- < };
- <
- < /* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
- < Returns 0 if OK, 1 on error. */
- <
- < int build_section_table ();
- diff -r gdb-3.98/gdb/i960-tdep.c gdb-4.0/gdb/i960-tdep.c
- 37c37
- < const struct ext_format ext_format_i960 [] = {
- ---
- > const struct ext_format ext_format_i960 = {
- 39c39
- < { 12, 9, 0x80, 9,8, 4,0 }, /* i960 */
- ---
- > 12, 9, 0x80, 9,8, 4,0, /* i960 */
- diff -r gdb-3.98/gdb/ieee-float.c gdb-4.0/gdb/ieee-float.c
- 79c79
- < unsigned char twobytes[2];
- ---
- > unsigned char tobytes[8];
- 98c98
- < bcopy (from, twobytes, 2);
- ---
- > bcopy (from, tobytes, 8);
- 100c100
- < exponent = ((twobytes[1] & 0xF0) >> 4) | (twobytes[0] & 0x7F) << 4;
- ---
- > exponent = ((tobytes[1] & 0xF0) >> 4) | (tobytes[0] & 0x7F) << 4;
- 104c104
- < exponent = ((twobytes[0] & 0xF0) >> 4) | (twobytes[1] & 0x7F) << 4;
- ---
- > exponent = ((tobytes[6] & 0xF0) >> 4) | (tobytes[7] & 0x7F) << 4;
- diff -r gdb-3.98/gdb/infcmd.c gdb-4.0/gdb/infcmd.c
- 422c422
- < /* 4 => return instead of letting the stack dummy run. */
- ---
- > /* DEBUG HOOK: 4 => return instead of letting the stack dummy run. */
- 790c790,792
- < print all registers.
- ---
- > print all registers (fpregs == 1) or all non-float registers
- > (fpregs == 0).
- >
- 793c795
- < is required, (eg, for SPARC or Pyramid 90x, which both have
- ---
- > is required, (eg, for MIPS or Pyramid 90x, which both have
- 795c797
- < all the registers, define the macro DO_REGISTERS_INFO(regnum)
- ---
- > all the registers, define the macro DO_REGISTERS_INFO(regnum, fp)
- 796a799
- >
- 798,799c801,803
- < #define DO_REGISTERS_INFO(regnum) do_registers_info(regnum)
- < static void do_registers_info (regnum)
- ---
- > #define DO_REGISTERS_INFO(regnum, fp) do_registers_info(regnum, fp)
- > static void
- > do_registers_info (regnum, fpregs)
- 800a805
- > int fpregs;
- 804,807d808
- < if (regnum == -1)
- < printf_filtered (
- < "Register Contents (relative to selected stack frame)\n\n");
- <
- 813,814c814,821
- < if (regnum != -1 && i != regnum)
- < continue;
- ---
- > /* Decide between printing all regs, nonfloat regs, or specific reg. */
- > if (regnum == -1) {
- > if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT && !fpregs)
- > continue;
- > } else {
- > if (i != regnum)
- > continue;
- > }
- 876c883
- < registers_info (addr_exp)
- ---
- > registers_info (addr_exp, fpregs)
- 877a885
- > int fpregs;
- 903c911,925
- < DO_REGISTERS_INFO(regnum);
- ---
- > DO_REGISTERS_INFO(regnum, fpregs);
- > }
- >
- > static void
- > all_registers_info (addr_exp)
- > char *addr_exp;
- > {
- > registers_info (addr_exp, 1);
- > }
- >
- > static void
- > nofp_registers_info (addr_exp)
- > char *addr_exp;
- > {
- > registers_info (addr_exp, 0);
- 1104,1105c1126,1131
- < add_info ("registers", registers_info,
- < "List of registers and their contents, for selected stack frame.\n\
- ---
- > add_info ("registers", nofp_registers_info,
- > "List of integer registers and their contents, for selected stack frame.\n\
- > Register name as argument means describe only that register.");
- >
- > add_info ("all-registers", all_registers_info,
- > "List of all registers and their contents, for selected stack frame.\n\
- diff -r gdb-3.98/gdb/inflow.c gdb-4.0/gdb/inflow.c
- 308,311c308,311
- < /* NEW_TTY is called in new child processes under Unix, which will
- < become debugger target processes.
- < If the TTYNAME argument is non-null, we switch to that tty for further
- < input and output. In either case, we remember the setup. */
- ---
- > /* NEW_TTY_PREFORK is called before forking a new child process,
- > so we can record the state of ttys in the child to be formed.
- > TTYNAME is null if we are to share the terminal with gdb;
- > or points to a string containing the name of the desired tty.
- 313,314c313,317
- < void
- < new_tty (ttyname)
- ---
- > NEW_TTY is called in new child processes under Unix, which will
- > become debugger target processes. This actually switches to
- > the terminal specified in the NEW_TTY_PREFORK call. */
- >
- > new_tty_prefork (ttyname)
- 317,318d319
- < register int tty;
- <
- 322c323,330
- < if (ttyname == 0)
- ---
- > }
- >
- > void
- > new_tty ()
- > {
- > register int tty;
- >
- > if (inferior_thisrun_terminal == 0)
- 337c345
- < tty = open(ttyname, O_RDWR);
- ---
- > tty = open(inferior_thisrun_terminal, O_RDWR);
- 340c348
- < print_sys_errmsg (ttyname, errno);
- ---
- > print_sys_errmsg (inferior_thisrun_terminal, errno);
- 473c481
- < fcntl (0, F_GETFL, tflags_ours);
- ---
- > tflags_ours = fcntl (0, F_GETFL, 0);
- diff -r gdb-3.98/gdb/infptrace.c gdb-4.0/gdb/infptrace.c
- 163a164
- > #include <a.out.gnu.h> /* For struct nlist */
- 327c328
- < child_xfer_memory (memaddr, myaddr, len, write)
- ---
- > child_xfer_memory (memaddr, myaddr, len, write, target)
- 331a333
- > struct target_ops target; /* ignored */
- diff -r gdb-3.98/gdb/infrun.c gdb-4.0/gdb/infrun.c
- 150a151
- > extern char **environ;
- 154d154
- < /* Copy of inferior_io_terminal when inferior was last started. */
- 156,158d155
- < extern char *inferior_thisrun_terminal;
- <
- <
- 299a297,301
- > /* Handle any optimized stores to the inferior NOW... */
- > #ifdef DO_DEFERRED_STORES
- > DO_DEFERRED_STORES;
- > #endif
- >
- 407,411d408
- < /* Handle any optimized stores to the inferior NOW... */
- < #ifdef DO_DEFERRED_STORES
- < DO_DEFERRED_STORES;
- < #endif
- <
- 474a472
- > char **save_our_env;
- 502a501,510
- > /* Retain a copy of our environment variables, since the child will
- > replace the value of environ and if we're vforked, we have to
- > restore it. */
- > save_our_env = environ;
- >
- > /* Tell the terminal handling subsystem what tty we plan to run on;
- > it will just record the information for later. */
- >
- > new_tty_prefork (inferior_io_terminal);
- >
- 538,539c546,547
- < /* Tell the terminal handling subsystem what tty we plan to run on;
- < it will now switch to that one if non-null. */
- ---
- > /* Ask the tty subsystem to switch to the one we specified earlier
- > (or to share the current terminal, if none was specified). */
- 541c549
- < new_tty (inferior_io_terminal);
- ---
- > new_tty ();
- 550d557
- < execle (shell_file, shell_file, "-c", shell_command, (char *)0, env);
- 551a559,566
- > /* There is no execlpe call, so we have to set the environment
- > for our child in the global variable. If we've vforked, this
- > clobbers the parent, but environ is restored a few lines down
- > in the parent. By the way, yes we do need to look down the
- > path to find $SHELL. Rich Pixley says so, and I agree. */
- > environ = env;
- > execlp (shell_file, shell_file, "-c", shell_command, (char *)0);
- >
- 556a572,574
- >
- > /* Restore our environment in case a vforked child clob'd it. */
- > environ = save_our_env;
- diff -r gdb-3.98/gdb/inftarg.c gdb-4.0/gdb/inftarg.c
- 38c38
- < extern void kill_inferior(), add_syms_addr_command();
- ---
- > extern void kill_inferior();
- 182c182
- < kill_inferior, 0, add_syms_addr_command, /* load */
- ---
- > kill_inferior, 0, /* load */
- 187a188
- > 0, 0, /* Section pointers */
- diff -r gdb-3.98/gdb/m68k-tdep.c gdb-4.0/gdb/m68k-tdep.c
- 23c23
- < const struct ext_format ext_format_68881 [] = {
- ---
- > const struct ext_format ext_format_68881 = {
- 25c25
- < { 12, 0, 0x80, 0,1, 4,8 }, /* mc68881 */
- ---
- > 12, 0, 0x80, 0,1, 4,8 /* mc68881 */
- diff -r gdb-3.98/gdb/main.c gdb-4.0/gdb/main.c
- 49a50
- > #include <ctype.h>
- 54d54
- < #include <ctype.h>
- 394a395
- > {0, 0, 0, 0},
- 586c587
- < else if (!setjmp (to_top_level))
- ---
- > else if (isdigit (corearg[0]) && !setjmp (to_top_level))
- 788,792c789,790
- <
- < If RETURN_RESULT is set it allocates
- < space for whatever the user types and returns the result.
- < If not, it just discards what the user types and returns a garbage
- < non-NULL value.
- ---
- > Action is compatible with "readline", e.g. space for the result is
- > malloc'd and should be freed by the caller.
- 794c792
- < No matter what return_result is, a NULL return means end of file. */
- ---
- > A NULL return means end of file. */
- 796c794
- < gdb_readline (prrompt, return_result)
- ---
- > gdb_readline (prrompt)
- 798d795
- < int return_result;
- 811,812c808
- < if (return_result)
- < result = (char *) xmalloc (result_size);
- ---
- > result = (char *) xmalloc (result_size);
- 819,821c815,816
- < if (c == EOF || c == '\n')
- < break;
- < if (return_result)
- ---
- >
- > if (c == EOF)
- 823,828c818,819
- < result[input_index++] = c;
- < while (input_index >= result_size)
- < {
- < result_size *= 2;
- < result = (char *) xrealloc (result, result_size);
- < }
- ---
- > free (result);
- > return NULL;
- 830d820
- < }
- 832,846c822,834
- < if (c == EOF)
- < {
- < if (return_result)
- < free (result);
- < return NULL;
- < }
- <
- < if (return_result)
- < {
- < result[input_index++] = '\0';
- < return result;
- < }
- < else
- < /* Return any old non-NULL pointer. */
- < return (char *) "non-NULL";
- ---
- > if (c == '\n')
- > break;
- >
- > result[input_index++] = c;
- > while (input_index >= result_size)
- > {
- > result_size *= 2;
- > result = (char *) xrealloc (result, result_size);
- > }
- > }
- >
- > result[input_index++] = '\0';
- > return result;
- 1034,1081d1021
- < #if 0
- < Writing the history file upon a terminating signal is not useful,
- < because the info is rarely relevant and is in the core dump anyway.
- < It is an annoyance to have the file cluttering up the place.
- < /* The list of signals that would terminate us if not caught.
- < We catch them, but just so that we can write the history file,
- < and so forth. */
- < int terminating_signals[] = {
- < SIGHUP, SIGINT, SIGILL, SIGTRAP, SIGIOT,
- < SIGEMT, SIGFPE, SIGKILL, SIGBUS, SIGSEGV, SIGSYS,
- < SIGPIPE, SIGALRM, SIGTERM,
- < #ifdef SIGXCPU
- < SIGXCPU,
- < #endif
- < #ifdef SIGXFSZ
- < SIGXFSZ,
- < #endif
- < #ifdef SIGVTALRM
- < SIGVTALRM,
- < #endif
- < #ifdef SIGPROF
- < SIGPROF,
- < #endif
- < #ifdef SIGLOST
- < SIGLOST,
- < #endif
- < #ifdef SIGUSR1
- < SIGUSR1, SIGUSR2
- < #endif
- < };
- <
- < #define TERMSIGS_LENGTH (sizeof (terminating_signals) / sizeof (int))
- <
- < static void
- < catch_termination (sig)
- < int sig;
- < {
- < /* We are probably here because GDB has a bug. Write out the history
- < so that we might have a better chance of reproducing it. */
- < /* Tell the user what we are doing so he can delete the file if
- < it is unwanted. */
- < write_history (history_filename);
- < printf ("\n%s written.\n", history_filename);
- < signal (sig, SIG_DFL);
- < kill (getpid (), sig);
- < }
- < #endif
- <
- 1092,1097d1031
- < #if 0
- < register int i;
- <
- < for (i = 0; i < TERMSIGS_LENGTH; i++)
- < signal (terminating_signals[i], catch_termination);
- < #endif
- 1104c1038
- < on BSD4.3 systems using vfork, that will (apparently) affect the
- ---
- > on BSD4.3 systems using vfork, that can affect the
- 1106c1040
- < being shared between the two, apparently). Since we establish
- ---
- > might be in memory, shared between the two). Since we establish
- 1174c1108
- < rl = gdb_readline (local_prompt, 1);
- ---
- > rl = gdb_readline (local_prompt);
- diff -r gdb-3.98/gdb/mcheck.c gdb-4.0/gdb/mcheck.c
- 23d22
- < #include <stdlib.h>
- 30a30
- >
- 32c32,33
- < static void EXFUN((*abortfunc), (void)) = abort;
- ---
- > extern void abort();
- > static void EXFUN((*abortfunc), (void)) = (void (*)()) abort;
- diff -r gdb-3.98/gdb/mips-tdep.c gdb-4.0/gdb/mips-tdep.c
- 539c539,540
- < static mips_print_register(regnum, all)
- ---
- > static
- > mips_print_register(regnum, all)
- 583c584,585
- < mips_do_registers_info(regnum)
- ---
- > /* Replacement for generic do_registers_info. */
- > mips_do_registers_info (regnum, fpregs)
- 584a587
- > int fpregs;
- 591a595,598
- > if ((!fpregs) && regnum >= FP0_REGNUM && regnum <= FCRIR_REGNUM) {
- > regnum++;
- > continue;
- > }
- diff -r gdb-3.98/gdb/pyr-tdep.c gdb-4.0/gdb/pyr-tdep.c
- 49c49,50
- < /* Print the register regnum, or all registers if regnum is -1. */
- ---
- > /* Print the register regnum, or all registers if regnum is -1.
- > fpregs is currently ignored. */
- 51c52
- < pyr_do_registers_info (regnum)
- ---
- > pyr_do_registers_info (regnum, fpregs)
- 52a54
- > int fpregs;
- Only in gdb-4.0/gdb: refcard.ps
- diff -r gdb-3.98/gdb/remote-eb.c gdb-4.0/gdb/remote-eb.c
- 43d42
- < extern void add_syms_addr_command ();
- 792c791
- < eb_xfer_inferior_memory (memaddr, myaddr, len, write)
- ---
- > eb_xfer_inferior_memory (memaddr, myaddr, len, write, target)
- 796a796
- > struct target_ops *target; /* ignored */
- 925c925
- < 0, add_syms_addr_command, /* load */
- ---
- > 0, /* load */
- 931a932
- > 0, 0, /* Section pointers */
- diff -r gdb-3.98/gdb/remote-nindy.c gdb-4.0/gdb/remote-nindy.c
- 127d126
- < extern void add_syms_addr_command ();
- 134c133
- < extern struct ext_format ext_format_i960[]; /* i960-tdep.c */
- ---
- > extern struct ext_format ext_format_i960; /* i960-tdep.c */
- 499c498
- < double_to_ieee_extended (ext_format_i960, &dub,
- ---
- > double_to_ieee_extended (&ext_format_i960, &dub,
- 528c527
- < ieee_extended_to_double (ext_format_i960,
- ---
- > ieee_extended_to_double (&ext_format_i960,
- 576c575
- < nindy_xfer_inferior_memory(memaddr, myaddr, len, write)
- ---
- > nindy_xfer_inferior_memory(memaddr, myaddr, len, write, target)
- 580a580
- > struct target_ops *target; /* ignored */
- 950c950
- < nindy_load, add_syms_addr_command,
- ---
- > nindy_load,
- 956a957
- > 0, 0, /* Section pointers */
- diff -r gdb-3.98/gdb/remote-vx.c gdb-4.0/gdb/remote-vx.c
- 57d56
- < extern void add_syms_addr_command ();
- 902c901
- < vx_xfer_memory (memaddr, myaddr, len, write)
- ---
- > vx_xfer_memory (memaddr, myaddr, len, write, target)
- 905a905,906
- > int write;
- > struct target_ops *target; /* ignored */
- 1751c1752
- < vx_load_command, add_syms_addr_command,
- ---
- > vx_load_command,
- 1756a1758
- > 0, 0, /* Section pointers */
- 1773c1775
- < vx_load_command, add_syms_addr_command,
- ---
- > vx_load_command,
- 1779a1782
- > 0, 0, /* Section pointers */
- diff -r gdb-3.98/gdb/remote.c gdb-4.0/gdb/remote.c
- 86d85
- < extern void add_syms_addr_command ();
- 475a475
- > /* ARGSUSED */
- 477c477
- < remote_xfer_inferior_memory(memaddr, myaddr, len, should_write)
- ---
- > remote_xfer_memory(memaddr, myaddr, len, should_write, target)
- 481a482
- > struct target_ops *target; /* ignored */
- 837c838
- < remote_xfer_inferior_memory, remote_files_info,
- ---
- > remote_xfer_memory, remote_files_info,
- 841c842
- < 0, add_syms_addr_command, /* load */
- ---
- > 0, /* load */
- 846a848
- > 0, 0, /* Section pointers */
- diff -r gdb-3.98/gdb/solib.c gdb-4.0/gdb/solib.c
- 51,52c51,52
- < struct section_table *so_sections;
- < struct section_table *so_sections_end;
- ---
- > struct section_table *sections;
- > struct section_table *sections_end;
- 88c88
- < if (build_section_table (so->so_bfd, &so->so_sections, &so->so_sections_end))
- ---
- > if (build_section_table (so->so_bfd, &so->sections, &so->sections_end))
- 92c92
- < for (p = so->so_sections; p < so->so_sections_end; p++)
- ---
- > for (p = so->sections; p < so->sections_end; p++)
- 206c206
- < new->so_sections = NULL;
- ---
- > new->sections = NULL;
- 219,242d218
- < /*
- < ** Called by core_xfer_memory if the transfer form the core file failed.
- < ** We try to satisfy the request from the text sections of the shared libs.
- < */
- < int
- < solib_xfer_memory (memaddr, myaddr, len, write)
- < CORE_ADDR memaddr;
- < char *myaddr;
- < int len;
- < int write;
- < {
- < int res;
- < register struct so_list *so = 0;
- <
- < while (so = find_solib(so))
- < {
- < res = xfer_memory (memaddr, myaddr, len, write,
- < so->so_bfd, so->so_sections, so->so_sections_end);
- < if (res)
- < return res;
- < }
- < return 0;
- < }
- < /*=======================================================================*/
- 244,246c220,224
- < void solib_add(arg_string, from_tty)
- < char *arg_string;
- < int from_tty;
- ---
- > void
- > solib_add (arg_string, from_tty, target)
- > char *arg_string;
- > int from_tty;
- > struct target_ops *target;
- 248,249c226,229
- < register struct so_list *so = 0; /* link map state variable */
- < char *val;
- ---
- > register struct so_list *so = 0; /* link map state variable */
- > char *val;
- > int count, old;
- > struct section_table *sec;
- 251,266c231,235
- < if (arg_string == 0)
- < re_comp (".");
- < else if (val = (char *) re_comp (arg_string)) {
- < error ("Invalid regexp: %s", val);
- < }
- <
- < /* Getting new symbols may change our opinion about what is
- < frameless. */
- < reinit_frame_cache ();
- <
- < printf_filtered ("All shared libraries");
- < if (arg_string)
- < printf_filtered (" matching regular expresion \"%s\"", arg_string);
- < printf_filtered (":\n");
- <
- < dont_repeat();
- ---
- > if (arg_string == 0)
- > re_comp (".");
- > else if (val = (char *) re_comp (arg_string)) {
- > error ("Invalid regexp: %s", val);
- > }
- 268,277c237,290
- < while (so = find_solib(so)) {
- < if (re_exec(so->inferior_so_name)) {
- < if (so->symbols_loaded) {
- < printf("Symbols already loaded for %s\n", so->inferior_so_name);
- < } else {
- < symbol_file_add (so->inferior_so_name, from_tty,
- < (unsigned int)so->inferior_lm.lm_addr, 0);
- < so->symbols_loaded = 1;
- < }
- < }
- ---
- > /* Getting new symbols may change our opinion about what is
- > frameless. */
- > reinit_frame_cache ();
- >
- > printf_filtered ("Shared libraries");
- > if (arg_string)
- > printf_filtered (" matching regular expresion \"%s\"", arg_string);
- > printf_filtered (":\n");
- >
- > dont_repeat();
- >
- > while (so = find_solib(so)) {
- > if (re_exec(so->inferior_so_name)) {
- > if (so->symbols_loaded) {
- > printf("Symbols already loaded for %s\n", so->inferior_so_name);
- > } else {
- > symbol_file_add (so->inferior_so_name, from_tty,
- > (unsigned int)so->inferior_lm.lm_addr, 0);
- > so->symbols_loaded = 1;
- > }
- > }
- > }
- >
- > /* Now add the shared library sections to the section table of the
- > specified target, if any. */
- > if (target) {
- > /* Count how many new section_table entries there are. */
- > so = 0;
- > count = 0;
- > while (0 != (so = find_solib (so))) {
- > count += so->sections_end - so->sections;
- > }
- >
- > if (count) {
- > /* Reallocate the target's section table including the new size. */
- > if (target->sections) {
- > old = target->sections_end - target->sections;
- > target->sections = (struct section_table *)
- > realloc ((char *)target->sections,
- > (sizeof (struct section_table)) * (count + old));
- > } else {
- > old = 0;
- > target->sections = (struct section_table *)
- > malloc ((sizeof (struct section_table)) * count);
- > }
- > target->sections_end = target->sections + (count + old);
- >
- > /* Add these section table entries to the target's table. */
- > while (0 != (so = find_solib (so))) {
- > count = so->sections_end - so->sections;
- > bcopy (so->sections, (char *)(target->sections + old),
- > (sizeof (struct section_table)) * count);
- > old += count;
- > }
- 278a292
- > }
- 279a294
- >
- 327,328c342,343
- < if (so_list_head->so_sections)
- < free (so_list_head->so_sections);
- ---
- > if (so_list_head->sections)
- > free (so_list_head->sections);
- 335c350,355
- <
- ---
- > }
- >
- > void
- > sharedlibrary_command (args, from_tty)
- > {
- > solib_add (args, from_tty, (struct target_ops *)0);
- 342c362
- < add_com("sharedlibrary", class_files, solib_add,
- ---
- > add_com("sharedlibrary", class_files, sharedlibrary_command,
- 346d365
- <
- diff -r gdb-3.98/gdb/source.c gdb-4.0/gdb/source.c
- 39c39,42
- < extern char *strstr();
- ---
- > /* If we use this declaration, it breaks because of fucking ANSI "const" stuff
- > on some systems. We just have to not declare it at all, have it default
- > to int, and possibly botch on a few systems. Thanks, ANSIholes... */
- > /* extern char *strstr(); */
- 506c509,511
- < p = strstr (source_path, "$cdir");
- ---
- > /* We cast strstr's result in case an ANSIhole has made it const,
- > which produces a "required warning" when assigned to a nonconst. */
- > p = (char *)strstr (source_path, "$cdir");
- 545c550
- < #if defined (BROKEN_LARGE_ALLOCA)
- ---
- > #ifdef BROKEN_LARGE_ALLOCA
- diff -r gdb-3.98/gdb/sparc-tdep.c gdb-4.0/gdb/sparc-tdep.c
- 130,131c130,133
- < read_memory ((CORE_ADDR)&(((struct rwindow *)(thisframe->frame))->rw_in[6]),
- < &retval,
- ---
- > int err;
- > err = target_read_memory
- > ((CORE_ADDR)&(((struct rwindow *)(thisframe->frame))->rw_in[6]),
- > (char *) &retval,
- 132a135,136
- > if (err)
- > return 0;
- 189c193
- <
- ---
- > fid->pc = FRAME_SAVED_PC (fid);
- 289c293,299
- < /* This routine should be more specific in it's actions; making sure
- ---
- > /* Given a pc value, skip it forward past the function prologue by
- > disassembling instructions that appear to be a prologue.
- >
- > If FRAMELESS_P is set, we are only testing to see if the function
- > is frameless. This allows a quicker answer.
- >
- > This routine should be more specific in its actions; making sure
- 292c302
- < skip_prologue (start_pc)
- ---
- > skip_prologue (start_pc, frameless_p)
- 293a304
- > int frameless_p;
- 318,319d328
- < /* Have we found a save instruction? */
- < int found_save = 0;
- 348d356
- < found_save = 1;
- 349a358,359
- > if (frameless_p) /* If the save is all we care about, */
- > return pc; /* return before doing more work */
- 351a362,366
- > else
- > {
- > /* Without a save instruction, it's not a prologue. */
- > return start_pc;
- > }
- 368,372c383
- < if (found_save)
- < return pc;
- < else
- < /* Without a save instruction, it's not a prologue. */
- < return start_pc;
- ---
- > return pc;
- 605a617,636
- > /* On the Sun 4 under SunOS, the compile will leave a fake insn which
- > encodes the structure size being returned. If we detect such
- > a fake insn, step past it. */
- >
- > CORE_ADDR
- > sparc_pc_adjust(pc)
- > CORE_ADDR pc;
- > {
- > long insn;
- > int err;
- >
- > err = target_read_memory (pc + 8, (char *)&insn, sizeof(long));
- > SWAP_TARGET_AND_HOST (&insn, sizeof(long));
- > if ((err == 0) && (insn & 0xfffffe00) == 0)
- > return pc+12;
- > else
- > return pc+8;
- > }
- >
- >
- 610c641
- < const struct ext_format ext_format_sparc[] = {
- ---
- > const struct ext_format ext_format_sparc = {
- 612c643
- < { 16, 0, 0x80, 0,1, 4,8 }, /* sparc */
- ---
- > 16, 0, 0x80, 0,1, 4,8, /* sparc */
- diff -r gdb-3.98/gdb/stack.c gdb-4.0/gdb/stack.c
- 595,596c595
- < /* Same, but print labels.
- < FIXME, this does not even reference FRAME... --gnu */
- ---
- > /* Same, but print labels. */
- 599c598
- < print_block_frame_labels (b, frame, have_default, stream)
- ---
- > print_block_frame_labels (b, have_default, stream)
- 601d599
- < register FRAME frame;
- 731c729
- < if (print_block_frame_labels (BLOCKVECTOR_BLOCK (bl, index), frame, &have_default, stream))
- ---
- > if (print_block_frame_labels (BLOCKVECTOR_BLOCK (bl, index), &have_default, stream))
- 913a912,916
- > #if 0
- > /* This is ancient and unnecessary? -- gnu@cygnus.com
- > It also loops forever if frame #0 is not current_frame (e.g. when we have
- > used the "frame" command after the stack was invalid). */
- >
- 931a935,943
- > #else
- > while (*level_offset_ptr < 0) {
- > frame1 = get_next_frame (frame);
- > if (!frame1)
- > break;
- > frame = frame1;
- > (*level_offset_ptr)++;
- > }
- > #endif
- 955,958c967,975
- < for (frame1 = get_prev_frame (0);
- < frame1 && frame1 != frame;
- < frame1 = get_prev_frame (frame1))
- < level++;
- ---
- > /* Try to figure out what level this frame is. But if there is
- > no current stack, don't error out -- let the user set one. */
- > frame1 = 0;
- > if (get_current_frame()) {
- > for (frame1 = get_prev_frame (0);
- > frame1 && frame1 != frame;
- > frame1 = get_prev_frame (frame1))
- > level++;
- > }
- diff -r gdb-3.98/gdb/symfile.c gdb-4.0/gdb/symfile.c
- 92a93,101
- > /* Flag for whether user will be reloading symbols multiple times.
- > Defaults to ON for VxWorks, otherwise OFF. */
- >
- > #ifdef SYMBOL_RELOADING_DEFAULT
- > int symbol_reloading = SYMBOL_RELOADING_DEFAULT;
- > #else
- > int symbol_reloading = 0;
- > #endif
- >
- 358,359d366
- < register struct symtab *result;
- <
- 420c427
- < printf_filtered ("Reading symbol data from %s...", name);
- ---
- > printf_filtered ("Reading symbols from %s...", name);
- 605,619c612,613
- < /* This function runs the add_syms command of our current target. */
- <
- < void
- < add_symbol_file_command (args, from_tty)
- < char *args;
- < int from_tty;
- < {
- < /* Getting new symbols may change our opinion about what is
- < frameless. */
- < reinit_frame_cache ();
- <
- < target_add_syms (args, from_tty);
- < }
- <
- < /* This function allows the addition of incrementally linked object files. */
- ---
- > /* This function allows the addition of incrementally linked object files.
- > It does not modify any state in the target, only in the debugger. */
- 623,624c617,618
- < add_syms_addr_command (arg_string, from_tty)
- < char* arg_string;
- ---
- > add_symbol_file_command (arg_string, from_tty)
- > char *arg_string;
- 629a624,627
- > /* Getting new symbols may change our opinion about what is
- > frameless. */
- > reinit_frame_cache ();
- >
- 707c705,706
- < we stop whining about it? */
- ---
- > we stop whining about it? Default is no whining at all, since so many
- > systems have ill-constructed symbol files. */
- 709c708
- < static unsigned stop_whining = 1;
- ---
- > static unsigned stop_whining = 0;
- 861a861,864
- > /* We only wack things if the symbol-reload switch is set. */
- > if (!symbol_reloading)
- > return 0;
- >
- 951a955,961
- > &setlist),
- > &showlist);
- >
- > add_show_from_set
- > (add_set_cmd ("symbol-reloading", class_support, var_boolean,
- > (char *)&symbol_reloading,
- > "Set dynamic symbol table reloading multiple times in one run.",
- diff -r gdb-3.98/gdb/target.c gdb-4.0/gdb/target.c
- 34d33
- < extern void add_syms_addr_command();
- 58d56
- < add_syms_addr_command, /* add_syms */
- 62a61
- > 0, 0, /* section pointers */
- 216,218d214
- < /* FIXME: What is savecur for? Why isn't it used? */
- < struct target_ops *savecur;
- <
- 224d219
- < savecur = current_target;
- 299d293
- < de_fault (to_add_syms, tcomplain);
- 433c427,428
- < res = current_target->to_xfer_memory(memaddr, myaddr, len, write);
- ---
- > res = current_target->to_xfer_memory
- > (memaddr, myaddr, len, write, current_target);
- 448c443
- < res = t->to_xfer_memory(memaddr, myaddr, curlen, write);
- ---
- > res = t->to_xfer_memory(memaddr, myaddr, curlen, write, t);
- 496c491
- < (t->to_files_info)();
- ---
- > (t->to_files_info)(t);
- diff -r gdb-3.98/gdb/target.h gdb-4.0/gdb/target.h
- 39a40,41
- > #include "bfd.h"
- >
- 66,67c68,70
- < int (*to_xfer_memory) (CORE_ADDR memaddr, char *myaddr, int len, int w);
- < void (*to_files_info) ();
- ---
- > int (*to_xfer_memory) (CORE_ADDR memaddr, char *myaddr, int len, int w,
- > struct target_ops *);
- > void (*to_files_info) (struct target_ops *);
- 77d79
- < void (*to_add_syms) (char *arg, int from_tty);
- 89a92,93
- > struct section_table *sections;
- > struct section_table *sections_end;
- 115d118
- < void (*to_add_syms) ();
- 126a130,131
- > struct section_table *sections;
- > struct section_table *sections_end;
- 244c249
- < (*current_target->to_files_info) ()
- ---
- > (*current_target->to_files_info) (current_target)
- 311,317d315
- < /* Add the symbols from an executable file into GDB's symbol table, as if
- < the file had been loaded at a particular address (or set of addresses).
- < This does not change any state in the target system, only in GDB. */
- <
- < #define target_add_syms(arg, from_tty) \
- < (*current_target->to_add_syms) (arg, from_tty)
- <
- 414a413,428
- >
- > /* Struct section_table maps address ranges to file sections. It is
- > mostly used with BFD files, but can be used without (e.g. for handling
- > raw disks, or files not in formats handled by BFD). */
- >
- > struct section_table {
- > CORE_ADDR addr; /* Lowest address in section */
- > CORE_ADDR endaddr; /* 1+highest address in section */
- > sec_ptr sec_ptr; /* BFD section pointer */
- > bfd *bfd; /* BFD file pointer */
- > };
- >
- > /* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
- > Returns 0 if OK, 1 on error. */
- >
- > int build_section_table ();
- diff -r gdb-3.98/gdb/tconfig/hp300bsd gdb-4.0/gdb/tconfig/hp300bsd
- 2c2
- < TDEPFILES= exec.o m68k-pinsn.o
- ---
- > TDEPFILES= exec.o m68k-pinsn.o m68k-tdep.o
- diff -r gdb-3.98/gdb/tconfig/sun2os4 gdb-4.0/gdb/tconfig/sun2os4
- 2,6d1
- < # The system-supplied assembler re-orders the symbols so that gdb
- < # can't find "gcc_compiled.".
- < #msg If you compile your program with GCC, use the GNU assembler.
- < #msg
- <
- diff -r gdb-3.98/gdb/tconfig/sun3os4 gdb-4.0/gdb/tconfig/sun3os4
- 2,6d1
- < # The system-supplied assembler re-orders the symbols so that gdb
- < # can't find "gcc_compiled.".
- < #msg If you compile your program with GCC, use the GNU assembler.
- < #msg
- <
- diff -r gdb-3.98/gdb/tconfig/sun4 gdb-4.0/gdb/tconfig/sun4
- 2,6d1
- < # The system-supplied assembler re-orders the symbols so that gdb
- < # can't find "gcc_compiled.".
- < #msg If you compile your program with GCC, use the GNU assembler.
- < #msg
- <
- diff -r gdb-3.98/gdb/tconfig/sun4os4 gdb-4.0/gdb/tconfig/sun4os4
- 2,6d1
- < # The system-supplied assembler re-orders the symbols so that gdb
- < # can't find "gcc_compiled.".
- < #msg If you compile your program with GCC, use the GNU assembler.
- < #msg
- <
- diff -r gdb-3.98/gdb/tm-68k.h gdb-4.0/gdb/tm-68k.h
- 152c152
- < extern struct ext_format ext_format_68881 [];
- ---
- > extern struct ext_format ext_format_68881;
- 160c160
- < ieee_extended_to_double (ext_format_68881, (FROM), (TO)); \
- ---
- > ieee_extended_to_double (&ext_format_68881, (FROM), (double *)(TO)); \
- 171c171
- < double_to_ieee_extended (ext_format_68881, (FROM), (TO)); \
- ---
- > double_to_ieee_extended (&ext_format_68881, (double *)(FROM), (TO)); \
- diff -r gdb-3.98/gdb/tm-hp300bsd.h gdb-4.0/gdb/tm-hp300bsd.h
- 1,2c1,2
- < /* Parameters for execution on a Hewlett-Packard 9000/300, running bsd.
- < Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
- ---
- > /* Parameters for target machine Hewlett-Packard 9000/300, running bsd.
- > Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
- diff -r gdb-3.98/gdb/tm-i960.h gdb-4.0/gdb/tm-i960.h
- 178c178
- < extern struct ext_format ext_format_i960[]; \
- ---
- > extern struct ext_format ext_format_i960; \
- 181c181
- < ieee_extended_to_double (ext_format_i960, (FROM), (TO)); \
- ---
- > ieee_extended_to_double (&ext_format_i960, (FROM), (double *)(TO)); \
- 191c191
- < extern struct ext_format ext_format_i960[]; \
- ---
- > extern struct ext_format ext_format_i960; \
- 194c194
- < double_to_ieee_extended (ext_format_i960, (FROM), (TO)); \
- ---
- > double_to_ieee_extended (&ext_format_i960, (double *)(FROM), (TO)); \
- diff -r gdb-3.98/gdb/tm-mips.h gdb-4.0/gdb/tm-mips.h
- 137c137
- < #define DO_REGISTERS_INFO(_regnum) mips_do_registers_info(_regnum)
- ---
- > #define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
- diff -r gdb-3.98/gdb/tm-pyr.h gdb-4.0/gdb/tm-pyr.h
- 184c184
- < #define DO_REGISTERS_INFO(_regnum) pyr_do_registers_info(_regnum)
- ---
- > #define DO_REGISTERS_INFO(_regnum, fp) pyr_do_registers_info(_regnum, fp)
- diff -r gdb-3.98/gdb/tm-sparc.h gdb-4.0/gdb/tm-sparc.h
- 67c67,70
- < to reach some "real" code. */
- ---
- > to reach some "real" code. SKIP_PROLOGUE_FRAMELESS_P advances
- > the PC past some of the prologue, but stops as soon as it
- > knows that the function has a frame. Its result is equal
- > to its input PC if the function is frameless, unequal otherwise. */
- 70c73,75
- < { pc = skip_prologue (pc); }
- ---
- > { pc = skip_prologue (pc, 0); }
- > #define SKIP_PROLOGUE_FRAMELESS_P(pc) \
- > { pc = skip_prologue (pc, 1); }
- 82,83c87,88
- < #define PC_ADJUST(pc) ((read_memory_integer (pc + 8, 4) & 0xfffffe00) == 0 ? \
- < pc+12 : pc+8)
- ---
- > #define PC_ADJUST(pc) sparc_pc_adjust(pc)
- > extern CORE_ADDR sparc_pc_adjust();
- 573c578
- < function "setup_arbitrary_frame" in mach-dep.c */
- ---
- > function "setup_arbitrary_frame" in sparc-tdep.c */
- diff -r gdb-3.98/gdb/tm-sunos.h gdb-4.0/gdb/tm-sunos.h
- 22,23c22
- < #define SOLIB_ADD(filename, from_tty) solib_add (filename, from_tty)
- < #define SOLIB_XFER_MEMORY(memaddr, myaddr, len, write) solib_xfer_memory (memaddr, myaddr, len, write)
- ---
- > #define SOLIB_ADD(filename, from_tty, targ) solib_add (filename, from_tty, targ)
- 29d27
- < extern int solib_xfer_memory ();
- diff -r gdb-3.98/gdb/utils.c gdb-4.0/gdb/utils.c
- 136a137
- > cleanup_chain = ptr->next; /* Do this first incase recursion */
- 138d138
- < cleanup_chain = ptr->next;
- 720a721,722
- > char *ignore;
- >
- 722c724,726
- < gdb_readline ("---Type <return> to continue---", 0);
- ---
- > ignore = gdb_readline ("---Type <return> to continue---");
- > if (ignore)
- > free (ignore);
- 724a729
- > dont_repeat (); /* Forget prev cmd -- CR won't repeat it. */
- 1208a1214
- > #ifndef HAVE_STRSTR
- 1210c1216
- < char *
- ---
- > const char *
- 1218c1224
- < return (char *)p;
- ---
- > return p;
- 1221a1228
- > #endif /* do not HAVE_STRSTR */
- diff -r gdb-3.98/gdb/valprint.c gdb-4.0/gdb/valprint.c
- 673c673
- < 0. Is "> 0" meant? I'm not sure what an "array of
- ---
- > >= 0. Is "> 0" meant? I'm not sure what an "array of
- diff -r gdb-3.98/gdb/values.c gdb-4.0/gdb/values.c
- 1018d1017
- < entry_type = VALUE_TYPE (entry);
- 1182c1181
- < TYPE_LENGTH (type));
- ---
- > TYPE_LENGTH (basetype));
- 1375,1376c1374,1375
- < if ((0 != fieldval & ~((1<<bitsize)-1))
- < && bitsize < 8 * sizeof (fieldval))
- ---
- > if (bitsize < (8 * sizeof (fieldval))
- > && 0 != (fieldval & ~((1<<bitsize)-1)))
- diff -r gdb-3.98/gdb/xm-hp300bsd.h gdb-4.0/gdb/xm-hp300bsd.h
- 1,2c1,2
- < /* Parameters for execution on a Hewlett-Packard 9000/300, running bsd.
- < Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
- ---
- > /* Parameters for hosting on a Hewlett-Packard 9000/300, running bsd.
- > Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
- 26c26,31
- < #include <machine/endian.h>
- ---
- > #define HOST_BYTE_ORDER BIG_ENDIAN
- >
- > /* Avoid "INT_MIN redefined" warnings -- by defining it here, exactly
- > the same as in the system <machine/machtypes.h> file. */
- > #undef INT_MIN
- > #define INT_MIN 0x80000000
- diff -r gdb-3.98/gdb/xm-sun3os4.h gdb-4.0/gdb/xm-sun3os4.h
- 23,27c23,27
- < /* There is a bug which can cause alloca to fail to allocate large
- < areas of memory one time in every 4096 (we think). */
- < /* chase@orc.olivetti.com says that 4 megabyte alloca's consistently fail,
- < even though the stack limit (SET_STACK_LIMIT_HUGE) has been set
- < to 250 megabytes. */
- ---
- > /* Large alloca's fail because the attempt to increase the stack limit in
- > main() fails because shared libraries are allocated just below the initial
- > stack limit. The SunOS kernel will not allow the stack to grow into
- > the area occupied by the shared libraries. Sun knows about this bug
- > but has no obvious fix for it. */
- 28a29,30
- >
- > #define HAVE_STRSTR
- diff -r gdb-3.98/gdb/xm-sun4os4.h gdb-4.0/gdb/xm-sun4os4.h
- 21d20
- <
- 22a22,30
- >
- > /* Large alloca's fail because the attempt to increase the stack limit in
- > main() fails because shared libraries are allocated just below the initial
- > stack limit. The SunOS kernel will not allow the stack to grow into
- > the area occupied by the shared libraries. Sun knows about this bug
- > but has no obvious fix for it. */
- > #define BROKEN_LARGE_ALLOCA
- >
- > #define HAVE_STRSTR
- Only in gdb-4.0/include: ChangeLog
- diff -r gdb-3.98/include/a.out.gnu.h gdb-4.0/include/a.out.gnu.h
- 57a58,61
- > /* HP/BSD formats */
- > M_HP200 = 200, /* hp200 (68010) BSD binary */
- > M_HP300 = 300, /* hp300 (68020+68881) BSD binary */
- > M_HPUX23 = 0x020C, /* hp200/300 HPUX binary */
- 98a103,108
- > /* By default, segment size is constant. But on some machines, it can
- > be a function of the a.out header (e.g. machine type). */
- > #ifndef N_SEGSIZE
- > #define N_SEGSIZE(x) SEGMENT_SIZE
- > #endif
- >
- 101c111
- < #define _N_HDROFF(x) (SEGMENT_SIZE - sizeof (struct exec))
- ---
- > #define _N_HDROFF(x) (N_SEGSIZE(x) - sizeof (struct exec))
- 139c149
- < : (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
- ---
- > : (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x).a_text-1) & ~(N_SEGSIZE(x)-1))))
- 162c172
- < #define N_FN 15
- ---
- > #define N_FN 0x1e
- 175a186
- >
- diff -r gdb-3.98/include/a.out.sun4.h gdb-4.0/include/a.out.sun4.h
- 5c5,8
- < #define SEGMENT_SIZE PAGE_SIZE
- ---
- >
- > #define SEG_SIZE_SPARC PAGE_SIZE
- > #define SEG_SIZE_SUN3 0x20000 /* Resolution of r/w protection hw */
- >
- 8a12,17
- >
- > /* Segment size varies on Sun-3 versus Sun-4. */
- >
- > #define N_SEGSIZE(x) (N_MACHTYPE(x) == M_SPARC? SEG_SIZE_SPARC: \
- > N_MACHTYPE(x) == M_68020? SEG_SIZE_SUN3: \
- > /* Guess? */ PAGE_SIZE)
- diff -r gdb-3.98/include/a29k-opcode.h gdb-4.0/include/a29k-opcode.h
- 20c20
- < /* $Id: a29k-opcode.h,v 1.2 1991/07/15 23:34:04 steve Exp $ */
- ---
- > /* $Id: a29k-opcode.h,v 1.4 1991/08/06 07:20:27 rich Exp $ */
- 65a66,69
- > #ifndef CONST
- > #define CONST
- > #endif /* CONST */
- >
- 285a290,295
- > * Revision 1.4 1991/08/06 07:20:27 rich
- > * Fixing CONST declarations.
- > *
- > * Revision 1.3 1991/08/05 22:31:05 rich
- > * *** empty log message ***
- > *
- diff -r gdb-3.98/include/aout64.h gdb-4.0/include/aout64.h
- 75c75,81
- < #define _N_HDROFF(x) (SEGMENT_SIZE - EXEC_BYTES_SIZE)
- ---
- > /* By default, segment size is constant. But on some machines, it can
- > be a function of the a.out header (e.g. machine type). */
- > #ifndef N_SEGSIZE
- > #define N_SEGSIZE(x) SEGMENT_SIZE
- > #endif
- >
- > #define _N_HDROFF(x) (N_SEGSIZE(x) - EXEC_BYTES_SIZE)
- 114c120
- < : (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
- ---
- > : (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x).a_text-1) & ~(N_SEGSIZE(x)-1))))
- 175a182,183
- >
- > #define N_INDR 0x0a
- diff -r gdb-3.98/include/bfd.h gdb-4.0/include/bfd.h
- 313,314c313,316
- < /* Opens the file supplied (using fopen) with the target supplied, it
- < returns a pointer to the created bfd.
- ---
- > /*:opncls.c*/
- > /* *i bfd_openr
- > Opens the file supplied (using @code{fopen}) with the target supplied, it
- > returns a pointer to the created BFD.
- 319,320c321,326
- < PROTO(bfd*, bfd_openr, (CONST char *filename,CONST char*target));
- < /* bfd_fdopenr is to bfd_fopenr much like fdopen is to fopen. It opens a bfd on
- ---
- > PROTO(bfd*, bfd_openr, (CONST char *filename,CONST char*target));
- >
- > /*
- >
- > *i bfd_fdopenr
- > bfd_fdopenr is to bfd_fopenr much like fdopen is to fopen. It opens a BFD on
- 325c331
- < PROTO(bfd *, bfd_fdopenr,
- ---
- > PROTO(bfd *, bfd_fdopenr,
- 327c333,337
- < /* Creates a bfd, associated with file @var{filename}, using the file
- ---
- >
- > /*
- >
- > bfd_openw
- > Creates a BFD, associated with file @var{filename}, using the file
- 332,333c342,347
- < PROTO(bfd *, bfd_openw, (CONST char *filename, CONST char *target));
- < /* This function closes a bfd. If the bfd was open for writing, then
- ---
- > PROTO(bfd *, bfd_openw, (CONST char *filename, CONST char *target));
- >
- > /*
- >
- > bfd_close
- > This function closes a BFD. If the BFD was open for writing, then
- 338c352
- < All memory attatched to the bfd's obstacks is released.
- ---
- > All memory attached to the BFD's obstacks is released.
- 342,345c356
- < PROTO(boolean, bfd_close,(bfd *));
- < /* This routine creates a new bfd in the manner of bfd_openw, but without
- < opening a file. The new bfd takes the target from the target used by
- < @var{template}. The format is always set to @code{bfd_object}.
- ---
- > PROTO(boolean, bfd_close,(bfd *));
- 346a358,363
- > /*
- >
- > bfd_create
- > This routine creates a new BFD in the manner of @code{bfd_openw}, but without
- > opening a file. The new BFD takes the target from the target used by
- > @var{template}. The format is always set to @code{bfd_object}.
- 348,350c365,376
- < PROTO(bfd *, bfd_create, (CONST char *filename, bfd *template));
- < /* Return the number of bytes in the obstacks connected to the supplied
- < bfd.
- ---
- >
- > PROTO(bfd *, bfd_create, (CONST char *filename, bfd *template));
- >
- > /*
- >
- > bfd_alloc_size
- > Return the number of bytes in the obstacks connected to the supplied
- > BFD.
- > */
- > PROTO(bfd_size_type,bfd_alloc_size,(bfd *abfd));
- >
- > /*
- 352,353c378,381
- < PROTO(bfd_size_type,bfd_alloc_size,(bfd *abfd));
- < /* This enum gives the object file's CPU
- ---
- >
- > /*:archures.c*/
- > /* bfd_architecture
- > This enum gives the object file's CPU
- 360d387
- <
- 361a389
- >
- 400,401c428,429
- < /* stuff
- < */
- ---
- > /*
- > stuff
- 403c431,432
- < /* Return a printable string representing the architecture and machine
- ---
- > bfd_prinable_arch_mach
- > Return a printable string representing the architecture and machine
- 405c434
- < bfd_printable_arch_mach.
- ---
- > @code{bfd_printable_arch_mach}.
- 407c436
- < PROTO(CONST char *,bfd_printable_arch_mach,
- ---
- > PROTO(CONST char *,bfd_printable_arch_mach,
- 409c438,442
- < /* Scan a string and attempt to turn it into an archive and machine type combination.
- ---
- >
- > /*
- >
- > *i bfd_scan_arch_mach
- > Scan a string and attempt to turn it into an archive and machine type combination.
- 411c444
- < PROTO(boolean, bfd_scan_arch_mach,
- ---
- > PROTO(boolean, bfd_scan_arch_mach,
- 413c446,450
- < /* This routine is used to determine whether two BFDs' architectures and machine types are
- ---
- >
- > /*
- >
- > *i bfd_arch_compatible
- > This routine is used to determine whether two BFDs' architectures and machine types are
- 415c452
- < two architectures and machine types implied by the bfds and sets the
- ---
- > two architectures and machine types implied by the BFDs and sets the
- 418c455
- < This routine returns @code{true} if the bfds are of compatible type,
- ---
- > This routine returns @code{true} if the BFDs are of compatible type,
- 421c458
- < PROTO(boolean, bfd_arch_compatible,
- ---
- > PROTO(boolean, bfd_arch_compatible,
- 426c463,467
- < /* Set atch mach
- ---
- >
- > /*
- >
- > bfd_set_arch_mach
- > Set atch mach
- 432c473,476
- < /* These macros as used for reading and writing raw data in sections;
- ---
- > /*:libbfd.c*/
- > /* *i bfd_put_size
- > *i bfd_get_size
- > These macros as used for reading and writing raw data in sections;
- 434c478
- < of the bfd and mangled accordingly. The mangling performs any
- ---
- > of the BFD and mangled accordingly. The mangling performs any
- 453,454c497,499
- <
- < /* These macros have the same function as their @code{bfd_get_x}
- ---
- > /* *i bfd_h_put_size
- > *i bfd_h_get_size
- > These macros have the same function as their @code{bfd_get_x}
- 476a522
- > /*:section.c*/
- 478d523
- <
- 479a525
- >
- 482,484c528,532
- < /* The name of the section, the name isn't a copy, the pointer is
- < the same as that passed to bfd_make_section.
- < */
- ---
- > /*
- > The name of the section, the name isn't a copy, the pointer is
- > the same as that passed to bfd_make_section.
- > */
- >
- 487,488c535,538
- < /* The next section in the list belonging to the bfd, or NULL.
- < */
- ---
- > /*
- > The next section in the list belonging to the BFD, or NULL.
- > */
- >
- 491,494c541,546
- < /* The field flags contains attributes of the section. Some of these
- < flags are read in from the object file, and some are synthesized from
- < other information.
- < */
- ---
- > /*
- > The field flags contains attributes of the section. Some of these
- > flags are read in from the object file, and some are synthesized from
- > other information.
- > */
- >
- 495a548,551
- >
- > /*
- > */
- >
- 498,500c554,558
- < /* Tells the OS to allocate space for this section when loaded.
- < This would clear for a section containing debug information only.
- < */
- ---
- > /*
- > Tells the OS to allocate space for this section when loaded.
- > This would clear for a section containing debug information only.
- > */
- >
- 503,505c561,565
- < /* Tells the OS to load the section from the file when loading.
- < This would be clear for a .bss section
- < */
- ---
- > /*
- > Tells the OS to load the section from the file when loading.
- > This would be clear for a .bss section
- > */
- >
- 508,510c568,572
- < /* The section contains data still to be relocated, so there will be some
- < relocation information too.
- < */
- ---
- > /*
- > The section contains data still to be relocated, so there will be some
- > relocation information too.
- > */
- >
- 513,514c575,578
- < /* Obsolete ?
- < */
- ---
- > /*
- > Obsolete ?
- > */
- >
- 517,518c581,584
- < /* A signal to the OS that the section contains read only data.
- < */
- ---
- > /*
- > A signal to the OS that the section contains read only data.
- > */
- >
- 521,522c587,590
- < /* The section contains code only.
- < */
- ---
- > /*
- > The section contains code only.
- > */
- >
- 525,526c593,596
- < /* The section contains data only.
- < */
- ---
- > /*
- > The section contains data only.
- > */
- >
- 529,530c599,602
- < /* The section will reside in ROM.
- < */
- ---
- > /*
- > The section will reside in ROM.
- > */
- >
- 533,542c605,616
- < /* The section contains constructor information. This section type is
- < used by the linker to create lists of constructors and destructors
- < used by @code{g++}. When a back end sees a symbol which should be used
- < in a constructor list, it creates a new section for the type of name
- < (eg @code{__CTOR_LIST__}), attatches the symbol to it and builds a
- < relocation. To build the lists of constructors, all the linker has to
- < to is catenate all the sections called @code{__CTOR_LIST__} and
- < relocte the data contained within - exactly the operations it would
- < peform on standard data.
- < */
- ---
- > /*
- > The section contains constructor information. This section type is
- > used by the linker to create lists of constructors and destructors
- > used by @code{g++}. When a back end sees a symbol which should be used
- > in a constructor list, it creates a new section for the type of name
- > (eg @code{__CTOR_LIST__}), attaches the symbol to it and builds a
- > relocation. To build the lists of constructors, all the linker has to
- > to is catenate all the sections called @code{__CTOR_LIST__} and
- > relocte the data contained within - exactly the operations it would
- > peform on standard data.
- > */
- >
- 545,548c619,639
- < /* The section has contents - a bss section could be
- < @code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be
- < @code{SEC_HAS_CONTENTS}
- < */
- ---
- > /*
- > The section is a constuctor, and should be placed at the end of the ..
- > */
- >
- > #define SEC_CONSTRUCTOR_TEXT 0x1100
- >
- > /*
- > */
- > #define SEC_CONSTRUCTOR_DATA 0x2100
- >
- > /*
- > */
- > #define SEC_CONSTRUCTOR_BSS 0x3100
- >
- > /*
- >
- > The section has contents - a bss section could be
- > @code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be
- > @code{SEC_HAS_CONTENTS}
- > */
- >
- 551,553c642,646
- < /* An instruction to the linker not to output sections containing
- < this flag even if they have information which would normally be written.
- < */
- ---
- > /*
- > An instruction to the linker not to output sections containing
- > this flag even if they have information which would normally be written.
- > */
- >
- 556,557c649,653
- < /* The base address of the section in the address space of the target.
- < */
- ---
- > /*
- >
- > The base address of the section in the address space of the target.
- > */
- >
- 560,562c656,660
- < /* The size of the section in bytes of the loaded section. This contains
- < a value even if the section has no contents (eg, the size of @code{.bss}).
- < */
- ---
- > /*
- > The size of the section in bytes of the loaded section. This contains
- > a value even if the section has no contents (eg, the size of @code{.bss}).
- > */
- >
- 565,569c663,669
- < /* If this section is going to be output, then this value is the
- < offset into the output section of the first byte in the input
- < section. Eg, if this was going to start at the 100th byte in the
- < output section, this value would be 100.
- < */
- ---
- > /*
- > If this section is going to be output, then this value is the
- > offset into the output section of the first byte in the input
- > section. Eg, if this was going to start at the 100th byte in the
- > output section, this value would be 100.
- > */
- >
- 572,573c672,675
- < /* The output section through which to map on output.
- < */
- ---
- > /*
- > The output section through which to map on output.
- > */
- >
- 576,578c678,682
- < /* The alignment requirement of the section, as an exponent - eg 3
- < aligns to 2^3 (or 8)
- < */
- ---
- > /*
- > The alignment requirement of the section, as an exponent - eg 3
- > aligns to 2^3 (or 8)
- > */
- >
- 581,583c685,689
- < /* If an input section, a pointer to a vector of relocation records for
- < the data in this section.
- < */
- ---
- > /*
- > If an input section, a pointer to a vector of relocation records for
- > the data in this section.
- > */
- >
- 586,588c692,696
- < /* If an output section, a pointer to a vector of pointers to
- < relocation records for the data in this section.
- < */
- ---
- > /*
- > If an output section, a pointer to a vector of pointers to
- > relocation records for the data in this section.
- > */
- >
- 591,592c699,702
- < /* The number of relocation records in one of the above
- < */
- ---
- > /*
- > The number of relocation records in one of the above
- > */
- >
- 595,596c705,708
- < /* Which section is it 0..nth
- < */
- ---
- > /*
- > Which section is it 0..nth
- > */
- >
- 599,603c711,717
- < /* Information below is back end specific - and not always used or
- < updated
- <
- < File position of section data
- < */
- ---
- > /*
- > Information below is back end specific - and not always used or
- > updated
- >
- > File position of section data
- > */
- >
- 604a719,720
- > /* File position of relocation info
- > */
- 606,607d721
- < /* File position of relocation info
- < */
- 610,611c724,727
- < /* File position of line data
- < */
- ---
- > /*
- > File position of line data
- > */
- >
- 614,615c730,733
- < /* Pointer to data for applications
- < */
- ---
- > /*
- > Pointer to data for applications
- > */
- >
- 616a735,737
- >
- > /*
- > */
- 619,620c740,743
- < /* Attached line number information
- < */
- ---
- > /*
- > Attached line number information
- > */
- >
- 621a745,746
- > /* Number of line number records
- > */
- 623,624d747
- < /* Number of line number records
- < */
- 627,629c750,754
- < /* When a section is being output, this value changes as more
- < linenumbers are written out
- < */
- ---
- > /*
- > When a section is being output, this value changes as more
- > linenumbers are written out
- > */
- >
- 632,633c757,760
- < /* what the section number is in the target world
- < */
- ---
- > /*
- > what the section number is in the target world
- > */
- >
- 634a762,764
- >
- > /*
- > */
- 637,639c767,771
- < /* If this is a constructor section then here is a list of the
- < relocations created to relocate items within it.
- < */
- ---
- > /*
- > If this is a constructor section then here is a list of the
- > relocations created to relocate items within it.
- > */
- >
- 642,643c774,777
- < /* The bfd which owns the section.
- < */
- ---
- > /*
- > The BFD which owns the section.
- > */
- >
- 644a779,781
- >
- > /*
- > */
- 647,648c784
- < /* Runs through the provided @var{abfd} and returns the @code{asection}
- < who's name matches that provided, otherwise NULL. @xref{Sections}, for more information.
- ---
- > /*
- 649a786,788
- > bfd_get_section_by_name
- > Runs through the provided @var{abfd} and returns the @code{asection}
- > who's name matches that provided, otherwise NULL. @xref{Sections}, for more information.
- 651c790,791
- < PROTO(asection *, bfd_get_section_by_name,
- ---
- >
- > PROTO(asection *, bfd_get_section_by_name,
- 653,654c793,798
- < /* This function creates a new empty section called @var{name} and attatches it
- < to the end of the chain of sections for @var{bfd}. An attempt to
- ---
- >
- > /*
- >
- > bfd_make_section
- > This function creates a new empty section called @var{name} and attaches it
- > to the end of the chain of sections for the BFD supplied. An attempt to
- 661c805
- < If output has already started for this bfd.
- ---
- > If output has already started for this BFD.
- 665d808
- <
- 667,668c810,816
- < PROTO(asection *, bfd_make_section, (bfd *, CONST char *name));
- < /* Attempts to set the attributes of the section named in the bfd
- ---
- >
- > PROTO(asection *, bfd_make_section, (bfd *, CONST char *name));
- >
- > /*
- >
- > bfd_set_section_flags
- > Attempts to set the attributes of the section named in the BFD
- 677d824
- <
- 679c826,827
- < PROTO(boolean, bfd_set_section_flags,
- ---
- >
- > PROTO(boolean, bfd_set_section_flags,
- 681,682c829,834
- < /* Calls the provided function @var{func} for each section attatched to
- < the bfd @var{abfd}, passing @var{obj} as an argument. The function
- ---
- >
- > /*
- >
- > bfd_map_over_sections
- > Calls the provided function @var{func} for each section attached to
- > the BFD @var{abfd}, passing @var{obj} as an argument. The function
- 688,689d839
- <
- <
- 691c841,842
- < PROTO(void, bfd_map_over_sections,
- ---
- >
- > PROTO(void, bfd_map_over_sections,
- 693c844,847
- < /* This is the prefered method for iterating over sections, an
- ---
- >
- > /*
- >
- > This is the prefered method for iterating over sections, an
- 700c854
- < @end example*/
- ---
- > @end example
- 702c856,857
- < /* Sets @var{section} to the size @var{val}. If the operation is ok, then
- ---
- > bfd_set_section_size
- > Sets @var{section} to the size @var{val}. If the operation is ok, then
- 708c863
- < Writing has started to the bfd, so setting the size is invalid
- ---
- > Writing has started to the BFD, so setting the size is invalid
- 710d864
- <
- 712c866,867
- < PROTO(boolean, bfd_set_section_size,
- ---
- >
- > PROTO(boolean, bfd_set_section_size,
- 714c869,873
- < /* Sets the contents of the section @var{section} in bfd @var{abfd} to
- ---
- >
- > /*
- >
- > bfd_set_section_contents
- > Sets the contents of the section @var{section} in BFD @var{abfd} to
- 727d885
- <
- 729c887,888
- < PROTO(boolean, bfd_set_section_contents,
- ---
- >
- > PROTO(boolean, bfd_set_section_contents,
- 735c894,898
- < /* This function reads data from @var{section} in bfd @var{abfd} into
- ---
- >
- > /*
- >
- > bfd_get_section_contents
- > This function reads data from @var{section} in BFD @var{abfd} into
- 749d911
- <
- 751c913,914
- < PROTO(boolean, bfd_get_section_contents,
- ---
- >
- > PROTO(boolean, bfd_get_section_contents,
- 753a917,922
- >
- > /*
- > */
- >
- >
- > /*:syms.c*/
- 756d924
- <
- 757a926
- >
- 759a929,932
- > /* A pointer to the BFD which owns the symbol. This information is
- > necessary so that a back end can work out what additional (invisible to
- > the application writer) information is carried with the symbol.
- > */
- 761,764d933
- < /* A pointer to the bfd which owns the symbol. This information is
- < necessary so that a back end can work out what additional (invisible to
- < the application writer) information is carried with the symbol.
- < */
- 767,769c936,940
- < /* The text of the symbol. The name is left alone, and not copied - the
- < application may not alter it.
- < */
- ---
- > /*
- > The text of the symbol. The name is left alone, and not copied - the
- > application may not alter it.
- > */
- >
- 772,773c943,946
- < /* The value of the symbol.
- < */
- ---
- > /*
- > The value of the symbol.
- > */
- >
- 776,777c949,952
- < /* Attributes of a symbol:
- < */
- ---
- > /*
- > Attributes of a symbol:
- > */
- >
- 780,782c955,959
- < /* The symbol has local scope; @code{static} in @code{C}. The value is
- < the offset into the section of the data.
- < */
- ---
- > /*
- > The symbol has local scope; @code{static} in @code{C}. The value is
- > the offset into the section of the data.
- > */
- >
- 785,787c962,966
- < /* The symbol has global scope; initialized data in @code{C}. The value
- < is the offset into the section of the data.
- < */
- ---
- > /*
- > The symbol has global scope; initialized data in @code{C}. The value
- > is the offset into the section of the data.
- > */
- >
- 790,791c969,972
- < /* Obsolete
- < */
- ---
- > /*
- > Obsolete
- > */
- >
- 794,796c975,979
- < /* The symbol has global scope, and is exported. The value is the offset
- < into the section of the data.
- < */
- ---
- > /*
- > The symbol has global scope, and is exported. The value is the offset
- > into the section of the data.
- > */
- >
- 799,800c982,985
- < /* The symbol is undefined. @code{extern} in @code{C}. The value has no meaning.
- < */
- ---
- > /*
- > The symbol is undefined. @code{extern} in @code{C}. The value has no meaning.
- > */
- >
- 803,805c988,992
- < /* The symbol is common, initialized to zero; default in @code{C}. The
- < value is the size of the object in bytes.
- < */
- ---
- > /*
- > The symbol is common, initialized to zero; default in @code{C}. The
- > value is the size of the object in bytes.
- > */
- >
- 808,812c995,1001
- < /* A normal @code{C} symbol would be one of:
- < @code{BSF_LOCAL}, @code{BSF_FORT_COMM}, @code{BSF_UNDEFINED} or @code{BSF_EXPORT|BSD_GLOBAL}
- <
- < The symbol is a debugging record. The value has an arbitary meaning.
- < */
- ---
- > /*
- > A normal @code{C} symbol would be one of:
- > @code{BSF_LOCAL}, @code{BSF_FORT_COMM}, @code{BSF_UNDEFINED} or @code{BSF_EXPORT|BSD_GLOBAL}
- >
- > The symbol is a debugging record. The value has an arbitary meaning.
- > */
- >
- 815,817c1004,1008
- < /* The symbol has no section attached, any value is the actual value and
- < is not a relative offset to a section.
- < */
- ---
- > /*
- > The symbol has no section attached, any value is the actual value and
- > is not a relative offset to a section.
- > */
- >
- 820,821c1011,1014
- < /* Used by the linker
- < */
- ---
- > /*
- > Used by the linker
- > */
- >
- 823d1015
- < #define BSF_WARNING 0x20000
- 826,827c1018,1021
- < /* Unused
- < */
- ---
- > /*
- > Unused
- > */
- >
- 832,833c1026,1029
- < /* The symbol used to be a common symbol, but now it is allocated.
- < */
- ---
- > /*
- > The symbol used to be a common symbol, but now it is allocated.
- > */
- >
- 836,837c1032,1035
- < /* The default value for common data.
- < */
- ---
- > /*
- > The default value for common data.
- > */
- >
- 840,844c1038,1044
- < /* In some files the type of a symbol sometimes alters its location
- < in an output file - ie in coff a @code{ISFCN} symbol which is also @code{C_EXT}
- < symbol appears where it was declared and not at the end of a section.
- < This bit is set by the target bfd part to convey this information.
- < */
- ---
- > /*
- > In some files the type of a symbol sometimes alters its location
- > in an output file - ie in coff a @code{ISFCN} symbol which is also @code{C_EXT}
- > symbol appears where it was declared and not at the end of a section.
- > This bit is set by the target BFD part to convey this information.
- > */
- >
- 845a1046,1070
- >
- > /*
- > Signal that the symbol is the label of constructor section.
- > */
- >
- > #define BSF_CONSTRUCTOR 0x1000000
- >
- > /*
- > Signal that the symbol is a warning symbol. If the symbol is a warning
- > symbol, then the value field (I know this is tacky) will point to the
- > asymbol which when referenced will cause the warning.
- > */
- >
- > #define BSF_WARNING 0x2000000
- >
- > /*
- > Signal that the symbol is indirect. The value of the symbol is a
- > pointer to an undefined asymbol which contains the name to use
- > instead.
- > */
- >
- > #define BSF_INDIRECT 0x4000000
- >
- > /*
- > */
- 848,852c1073,1079
- < /* Aointer to the section to which this symbol is relative, or 0 if the
- < symbol is absolute or undefined. Note that it is not sufficient to set
- < this location to 0 to mark a symbol as absolute - the flag
- < @code{BSF_ABSOLUTE} must be set also.
- < */
- ---
- > /*
- > Aointer to the section to which this symbol is relative, or 0 if the
- > symbol is absolute or undefined. Note that it is not sufficient to set
- > this location to 0 to mark a symbol as absolute - the flag
- > @code{BSF_ABSOLUTE} must be set also.
- > */
- >
- 855,857c1082,1086
- < /* Back end special data. This is being phased out in favour of making
- < this a union.
- < */
- ---
- > /*
- > Back end special data. This is being phased out in favour of making
- > this a union.
- > */
- >
- 861,863c1090,1095
- < /* Returns the number of bytes required in a vector of pointers to
- < @code{asymbols} for all the symbols in the supplied bfd, including a
- < terminal NULL pointer. If there are no symbols in the bfd, then 0 is
- ---
- > /*
- >
- > get_symtab_upper_bound
- > Returns the number of bytes required in a vector of pointers to
- > @code{asymbols} for all the symbols in the supplied BFD, including a
- > terminal NULL pointer. If there are no symbols in the BFD, then 0 is
- 869,870c1101,1105
- < /* Supplied a bfd and a pointer to an uninitialized vector of pointers.
- < This reads in the symbols from the bfd, and fills in the table with
- ---
- > /*
- >
- > bfd_canonicalize_symtab
- > Supplied a BFD and a pointer to an uninitialized vector of pointers.
- > This reads in the symbols from the BFD, and fills in the table with
- 873d1107
- <
- 874a1109
- >
- 879,882c1114,1117
- <
- < /* Provided a table of pointers to to symbols and a count, writes to the
- < output bfd the symbols when closed.
- <
- ---
- > /*
- > bfd_set_symtab
- > Provided a table of pointers to to symbols and a count, writes to the
- > output BFD the symbols when closed.
- 884,885c1119,1128
- < PROTO(boolean, bfd_set_symtab, (bfd *, asymbol **, unsigned int ));
- < /* Prints the value and flags of the symbol supplied to the stream file.
- ---
- >
- > PROTO(boolean, bfd_set_symtab, (bfd *, asymbol **, unsigned int ));
- >
- > /*
- >
- > bfd_print_symbol_vandf
- > Prints the value and flags of the symbol supplied to the stream file.
- > */
- >
- > PROTO(void, bfd_print_symbol_vandf, (PTR file, asymbol *symbol));
- 887,889c1130,1133
- < */
- < PROTO(void, bfd_print_symbol_vandf, (PTR file, asymbol *symbol));
- < /* This function creates a new @code{asymbol} structure for the bfd, and
- ---
- > /*
- >
- > bfd_make_empty_symbol
- > This function creates a new @code{asymbol} structure for the BFD, and
- 899a1144
- > /*:bfd.c*/
- 903,904c1148,1149
- < libbfd. References though the bfd and to data in the bfd give the
- < entire bfd functionality.
- ---
- > @code{libbfd}. References though the BFD and to data in the BFD give the
- > entire BFD functionality.
- 906c1151
- < Finally! The BFD struct itself. This contains the major data about
- ---
- > Here is the BFD struct itself. This contains the major data about
- 908d1152
- <
- 909a1154
- >
- 911a1157,1158
- > /* The filename the application opened the BFD with.
- > */
- 913,914d1159
- < /* The filename the application opened the bfd with.
- < */
- 917,918c1162,1165
- < /* A pointer to the target jump table.
- < */
- ---
- > /*
- > A pointer to the target jump table.
- > */
- >
- 921,927c1168,1177
- < /* To avoid dragging too many header files into every file that
- < includes bfd.h, IOSTREAM has been declared as a "char *", and MTIME
- < as a "long". Their correct types, to which they are cast when used,
- < are "FILE *" and "time_t".
- <
- < The iostream is the result of an fopen on the filename.
- < */
- ---
- > /*
- >
- > To avoid dragging too many header files into every file that
- > includes @file{bfd.h}, IOSTREAM has been declared as a "char *", and MTIME
- > as a "long". Their correct types, to which they are cast when used,
- > are "FILE *" and "time_t".
- >
- > The iostream is the result of an fopen on the filename.
- > */
- >
- 930,931c1180,1183
- < /* Is the file being cached @xref{File Caching}.
- < */
- ---
- > /*
- > Is the file being cached @xref{File Caching}.
- > */
- >
- 934,937c1186,1191
- < /* Marks whether there was a default target specified when the bfd was
- < opened. This is used to select what matching algorithm to use to chose
- < the back end.
- < */
- ---
- > /*
- > Marks whether there was a default target specified when the BFD was
- > opened. This is used to select what matching algorithm to use to chose
- > the back end.
- > */
- >
- 940,941c1194,1198
- < /* The caching routines use these to maintain an LRU list of bfds.
- < */
- ---
- > /*
- > The caching routines use these to maintain a least-recently-used list of
- > BFDs (@pxref{File Caching}).
- > */
- >
- 944,946c1201,1205
- < /* When a file is closed by the caching routines, it retains the state
- < here:
- < */
- ---
- > /*
- > When a file is closed by the caching routines, BFD retains state
- > information on the file here:
- > */
- >
- 949,950c1208,1211
- < /* and here:
- < */
- ---
- > /*
- > and here:
- > */
- >
- 951a1213,1215
- >
- > /*
- > */
- 952a1217,1218
- > /* File modified time
- > */
- 954,955d1219
- < /* File modified time
- < */
- 958,959c1222,1225
- < /* For output files, channel we locked (is this used?).
- < */
- ---
- > /*
- > For output files, channel we locked (is this used?).
- > */
- >
- 962,963c1228,1231
- < /* The format which belongs to the bfd.
- < */
- ---
- > /*
- > The format which belongs to the BFD.
- > */
- >
- 966,967c1234,1237
- < /* The direction the bfd was opened with
- < */
- ---
- > /*
- > The direction the BFD was opened with
- > */
- >
- 973,974c1243,1246
- < /* Format_specific flags
- < */
- ---
- > /*
- > Format_specific flags
- > */
- >
- 977,980c1249,1254
- < /* Currently my_archive is tested before adding origin to anything. I
- < believe that this can become always an add of origin, with origin set
- < to 0 for non archive files.
- < */
- ---
- > /*
- > Currently my_archive is tested before adding origin to anything. I
- > believe that this can become always an add of origin, with origin set
- > to 0 for non archive files.
- > */
- >
- 983,984c1257,1260
- < /* Remember when output has begun, to stop strange things happening.
- < */
- ---
- > /*
- > Remember when output has begun, to stop strange things happening.
- > */
- >
- 987,988c1263,1266
- < /* Pointer to linked list of sections
- < */
- ---
- > /*
- > Pointer to linked list of sections
- > */
- >
- 991,992c1269,1272
- < /* The number of sections
- < */
- ---
- > /*
- > The number of sections
- > */
- >
- 995,997c1275,1279
- < /* Stuff only usefull for object files:
- < The start address.
- < */
- ---
- > /*
- > Stuff only useful for object files:
- > The start address.
- > */
- >
- 998a1281,1282
- > /* Used for input and output
- > */
- 1000,1001d1283
- < /* Used for input and output
- < */
- 1002a1285,1286
- > /* Symbol table for output BFD
- > */
- 1004,1005d1287
- < /* Symtab for output bfd
- < */
- 1008,1009c1290,1293
- < /* Architecture of object machine, eg m68k
- < */
- ---
- > /*
- > Architecture of object machine, eg m68k
- > */
- >
- 1012,1013c1296,1299
- < /* Particular machine within arch, e.g. 68010
- < */
- ---
- > /*
- > Particular machine within arch, e.g. 68010
- > */
- >
- 1016,1017c1302,1305
- < /* Stuff only usefull for archives:
- < */
- ---
- > /*
- > Stuff only useful for archives:
- > */
- >
- 1024,1025c1312,1315
- < /* Used by the back end to hold private data.
- < */
- ---
- > /*
- > Used by the back end to hold private data.
- > */
- >
- 1028,1029c1318,1321
- < /* Used by the application to hold private data
- < */
- ---
- > /*
- > Used by the application to hold private data
- > */
- >
- 1032,1033c1324,1327
- < /* Where all the allocated stuff under this BFD goes
- < */
- ---
- > /*
- > Where all the allocated stuff under this BFD goes (@pxref{Memory Usage}).
- > */
- >
- 1037,1038c1331,1333
- < /* Marks the entry point of an output bfd. Returns @code{true} on
- < success, @code{false} otherwise.
- ---
- > /*
- >
- > bfd_set_start_address
- 1039a1335,1336
- > Marks the entry point of an output BFD. Returns @code{true} on
- > success, @code{false} otherwise.
- 1041,1042c1338,1345
- < PROTO(boolean, bfd_set_start_address,(bfd *, bfd_vma));
- < /* Return cached file modification time (e.g. as read from archive header
- ---
- >
- > PROTO(boolean, bfd_set_start_address,(bfd *, bfd_vma));
- >
- > /*
- >
- > bfd_get_mtime
- >
- > Return cached file modification time (e.g. as read from archive header
- 1044a1348,1350
- > */
- >
- > PROTO(long, bfd_get_mtime, (bfd *));
- 1045a1352,1354
- > /*
- >
- > stuff
- 1047c1356,1357
- < PROTO(long, bfd_get_mtime, (bfd *));
- ---
- >
- >
- 1075c1385
- < /* What this does
- ---
- > /*
- 1077,1078c1387,1397
- < PROTO(symindex, bfd_get_next_mapent, (bfd *, symindex, carsym **));
- < /* Used whilst processing archives. Sets the head of the chain of bfds
- ---
- >
- > /*:archive.c*/
- > /* bfd_get_next_mapent
- > What this does
- > */
- > PROTO(symindex, bfd_get_next_mapent, (bfd *, symindex, carsym **));
- >
- > /*
- >
- > bfd_set_archive_head
- > Used whilst processing archives. Sets the head of the chain of BFDs
- 1081c1400
- < PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));
- ---
- > PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));
- 1083c1402
- < PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
- ---
- > /*
- 1084a1404,1407
- > bfd_get_elt_at_index
- > */
- >
- > PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
- 1086c1409,1412
- < /* Initially provided a bfd containing an archive and NULL, opens a bfd
- ---
- > /*
- >
- > bfd_openr_next_archived_file
- > Initially provided a BFD containing an archive and NULL, opens a BFD
- 1089c1415
- < return value to return a created bfd to the next contained element.
- ---
- > return value to return a created BFD to the next contained element.
- 1091d1416
- <
- 1093c1418,1419
- < PROTO(bfd*, bfd_openr_next_archived_file,
- ---
- >
- > PROTO(bfd*, bfd_openr_next_archived_file,
- 1095,1096d1420
- < /* Returns a read-only string explaining what program was running when
- < it failed and produced the core file being read
- 1097a1422
- > /*
- 1099,1101c1424
- < PROTO(CONST char *, bfd_core_file_failing_command, (bfd *));
- < /* Returns the signal number which caused the core dump which generated
- < the file the bfd is attatched to.
- ---
- >
- 1102a1426,1429
- > /*:core.c*/
- > /* bfd_core_file_failing_command
- > Returns a read-only string explaining what program was running when
- > it failed and produced the core file being read
- 1104,1106c1431,1447
- < PROTO(int, bfd_core_file_failing_signal, (bfd *));
- < /* Returns @code{true} if the core file attatched to @var{core_bfd} was
- < generated by a run of the executable file attatched to @var{exec_bfd},
- ---
- >
- > PROTO(CONST char *, bfd_core_file_failing_command, (bfd *));
- >
- > /*
- >
- > bfd_core_file_failing_signal
- > Returns the signal number which caused the core dump which generated
- > the file the BFD is attached to.
- > */
- >
- > PROTO(int, bfd_core_file_failing_signal, (bfd *));
- >
- > /*
- >
- > core_file_matches_executable_p
- > Returns @code{true} if the core file attached to @var{core_bfd} was
- > generated by a run of the executable file attached to @var{exec_bfd},
- 1109c1450
- < PROTO(boolean, core_file_matches_executable_p,
- ---
- > PROTO(boolean, core_file_matches_executable_p,
- 1111c1452,1454
- < /* The relocation routine returns as a status an enumerated type:
- ---
- >
- > /*
- > */
- 1112a1456,1458
- > /*:reloc.c*/
- > /* bfd_perform_relocation
- > The relocation routine returns as a status an enumerated type:
- 1113a1460
- >
- 1114a1462,1463
- > /* No errors detected
- > */
- 1116,1117d1464
- < /* No errors detected
- < */
- 1120,1121c1467,1470
- < /* The relocation was performed, but there was an overflow.
- < */
- ---
- > /*
- > The relocation was performed, but there was an overflow.
- > */
- >
- 1124,1125c1473,1476
- < /* The address to relocate was not within the section supplied
- < */
- ---
- > /*
- > The address to relocate was not within the section supplied
- > */
- >
- 1128,1129c1479,1482
- < /* Used by special functions
- < */
- ---
- > /*
- > Used by special functions
- > */
- >
- 1132,1133c1485,1488
- < /* Unused
- < */
- ---
- > /*
- > Unused
- > */
- >
- 1136,1137c1491,1494
- < /* Unsupported relocation size requested.
- < */
- ---
- > /*
- > Unsupported relocation size requested.
- > */
- >
- 1140,1141c1497,1500
- < /* The symbol to relocate against was undefined.
- < */
- ---
- > /*
- > The symbol to relocate against was undefined.
- > */
- >
- 1144,1146c1503,1507
- < /* The relocaction was performed, but may not be ok - presently generated
- < only when linking i960 coff files with i960 b.out symbols.
- < */
- ---
- > /*
- > The relocaction was performed, but may not be ok - presently generated
- > only when linking i960 coff files with i960 b.out symbols.
- > */
- >
- 1149a1511,1514
- >
- > /*
- > */
- >
- 1153,1154c1518,1521
- < /* A pointer into the canonical table of pointers
- < */
- ---
- > /*
- > A pointer into the canonical table of pointers
- > */
- >
- 1157,1158c1524,1527
- < /* offset in section
- < */
- ---
- > /*
- > offset in section
- > */
- >
- 1161,1162c1530,1533
- < /* addend for relocation value
- < */
- ---
- > /*
- > addend for relocation value
- > */
- >
- 1165,1166c1536,1539
- < /* if sym is null this is the section
- < */
- ---
- > /*
- > if sym is null this is the section
- > */
- >
- 1169,1170c1542,1545
- < /* Pointer to how to perform the required relocation
- < */
- ---
- > /*
- > Pointer to how to perform the required relocation
- > */
- >
- 1174,1175c1549
- < /* The @code{reloc_howto_type} is a structure which contains all the
- < information that bfd needs to know to tie up a back end's data.
- ---
- > /*
- 1176a1551,1553
- > reloc_howto_type
- > The @code{reloc_howto_type} is a structure which contains all the
- > information that BFD needs to know to tie up a back end's data.
- 1177a1555
- >
- 1179a1558,1564
- > /* The type field has mainly a documetary use - the back end can to what
- > it wants with it, though the normally the back end's external idea of
- > what a reloc number would be would be stored in this field. For
- > example, the a PC relative word relocation in a coff environment would
- > have the type 023 - because that's what the outside world calls a
- > R_PCRWORD reloc.
- > */
- 1181,1187d1565
- < /* The type field has mainly a documetary use - the back end can to what
- < it wants with it, though the normally the back end's external idea of
- < what a reloc number would be would be stored in this field. For
- < example, the a PC relative word relocation in a coff environment would
- < have the type 023 - because that's what the outside world calls a
- < R_PCRWORD reloc.
- < */
- 1190,1192c1568,1572
- < /* The value the final relocation is shifted right by. This drops
- < unwanted data from the relocation.
- < */
- ---
- > /*
- > The value the final relocation is shifted right by. This drops
- > unwanted data from the relocation.
- > */
- >
- 1195,1197c1575,1579
- < /* The size of the item to be relocated - 0, is one byte, 1 is 2 bytes, 3
- < is four bytes.
- < */
- ---
- > /*
- > The size of the item to be relocated - 0, is one byte, 1 is 2 bytes, 3
- > is four bytes.
- > */
- >
- 1200,1201c1582,1585
- < /* Now obsolete
- < */
- ---
- > /*
- > Now obsolete
- > */
- >
- 1204,1207c1588,1593
- < /* Notes that the relocation is relative to the location in the data
- < section of the addend. The relocation function will subtract from the
- < relocation value the address of the location being relocated.
- < */
- ---
- > /*
- > Notes that the relocation is relative to the location in the data
- > section of the addend. The relocation function will subtract from the
- > relocation value the address of the location being relocated.
- > */
- >
- 1210,1211c1596,1599
- < /* Now obsolete
- < */
- ---
- > /*
- > Now obsolete
- > */
- >
- 1214,1215c1602,1605
- < /* Now obsolete
- < */
- ---
- > /*
- > Now obsolete
- > */
- >
- 1218,1220c1608,1612
- < /* Causes the relocation routine to return an error if overflow is
- < detected when relocating.
- < */
- ---
- > /*
- > Causes the relocation routine to return an error if overflow is
- > detected when relocating.
- > */
- >
- 1223,1226c1615,1620
- < /* If this field is non null, then the supplied function is called rather
- < than the normal function. This allows really strange relocation
- < methods to be accomodated (eg, i960 callj instructions).
- < */
- ---
- > /*
- > If this field is non null, then the supplied function is called rather
- > than the normal function. This allows really strange relocation
- > methods to be accomodated (eg, i960 callj instructions).
- > */
- >
- 1229,1230c1623,1626
- < /* The textual name of the relocation type.
- < */
- ---
- > /*
- > The textual name of the relocation type.
- > */
- >
- 1233,1235c1629,1633
- < /* When performing a partial link, some formats must modify the
- < relocations rather than the data - this flag signals this.
- < */
- ---
- > /*
- > When performing a partial link, some formats must modify the
- > relocations rather than the data - this flag signals this.
- > */
- >
- 1238,1244c1636,1644
- < /* The src_mask is used to select what parts of the read in data are to
- < be used in the relocation sum. Eg, if this was an 8 bit bit of data
- < which we read and relocated, this would be 0x000000ff. When we have
- < relocs which have an addend, such as sun4 extended relocs, the value
- < in the offset part of a relocating field is garbage so we never use
- < it. In this case the mask would be 0x00000000.
- < */
- ---
- > /*
- > The src_mask is used to select what parts of the read in data are to
- > be used in the relocation sum. Eg, if this was an 8 bit bit of data
- > which we read and relocated, this would be 0x000000ff. When we have
- > relocs which have an addend, such as sun4 extended relocs, the value
- > in the offset part of a relocating field is garbage so we never use
- > it. In this case the mask would be 0x00000000.
- > */
- >
- 1245a1646,1650
- > /* The dst_mask is what parts of the instruction are replaced into the
- > instruction. In most cases src_mask == dst_mask, except in the above
- > special case, where dst_mask would be 0x000000ff, and src_mask would
- > be 0x00000000.
- > */
- 1247,1251d1651
- < /* The dst_mask is what parts of the instruction are replaced into the
- < instruction. In most cases src_mask == dst_mask, except in the above
- < special case, where dst_mask would be 0x000000ff, and src_mask would
- < be 0x00000000.
- < */
- 1254,1260c1654,1662
- < /* When some formats create PC relative instructions, they leave the
- < value of the pc of the place being relocated in the offset slot of the
- < instruction, so that a PC relative relocation can be made just by
- < adding in an ordinary offset (eg sun3 a.out). Some formats leave the
- < displacement part of an instruction empty (eg m88k bcs), this flag
- < signals the fact.
- < */
- ---
- > /*
- > When some formats create PC relative instructions, they leave the
- > value of the pc of the place being relocated in the offset slot of the
- > instruction, so that a PC relative relocation can be made just by
- > adding in an ordinary offset (eg sun3 a.out). Some formats leave the
- > displacement part of an instruction empty (eg m88k bcs), this flag
- > signals the fact.
- > */
- >
- 1264c1666,1669
- < /* The HOWTO define is horrible and will go away.
- ---
- > /*
- >
- > HOWTO
- > The HOWTO define is horrible and will go away.
- 1267a1673,1677
- >
- > /*
- >
- > reloc_chain
- > */
- 1274a1685
- > /*
- 1276c1687
- < /* If an output_bfd is supplied to this function the generated image
- ---
- > If an output_bfd is supplied to this function the generated image
- 1288c1699
- < PROTO(bfd_reloc_status_enum_type,
- ---
- > PROTO(bfd_reloc_status_enum_type,
- 1295c1706,1712
- < /* @node bfd_target
- ---
- >
- > /*
- > */
- >
- > /*:targets.c*/
- > /* bfd_target
- > @node bfd_target
- 1303d1719
- <
- 1306a1723
- >
- 1312,1314c1729,1732
- < /* These macros are used to dispatch to functions through the bfd_target
- < vector. They are used in a number of macros further down in bfd.h, and
- < are also used when calling various routines by hand inside the bfd
- ---
- > /*
- > These macros are used to dispatch to functions through the bfd_target
- > vector. They are used in a number of macros further down in @file{bfd.h}, and
- > are also used when calling various routines by hand inside the BFD
- 1317a1736
- >
- 1321c1740,1741
- < /* For operations which index on the bfd format
- ---
- > /*
- > For operations which index on the BFD format
- 1322a1743
- >
- 1326,1327c1747,1749
- < /* This is the struct which defines the type of BFD this is. The
- < "xvec" member of the struct bfd itself points here. Each module
- ---
- > /*
- > This is the struct which defines the type of BFD this is. The
- > "xvec" member of the struct @code{bfd} itself points here. Each module
- 1334d1755
- <
- 1335a1757
- >
- 1339,1340c1761,1764
- < /* identifies the kind of target, eg SunOS4, Ultrix, etc
- < */
- ---
- > /*
- > identifies the kind of target, eg SunOS4, Ultrix, etc
- > */
- >
- 1343,1345c1767,1771
- < /* The "flavour" of a back end is a general indication about the contents
- < of a file.
- < */
- ---
- > /*
- > The "flavour" of a back end is a general indication about the contents
- > of a file.
- > */
- >
- 1353,1354c1779,1782
- < /* The order of bytes within the data area of a file.
- < */
- ---
- > /*
- > The order of bytes within the data area of a file.
- > */
- >
- 1357,1358c1785,1788
- < /* The order of bytes within the header parts of a file.
- < */
- ---
- > /*
- > The order of bytes within the header parts of a file.
- > */
- >
- 1361,1363c1791,1795
- < /* This is a mask of all the flags which an executable may have set -
- < from the set @code{NO_FLAGS}, @code{HAS_RELOC}, ...@code{D_PAGED}.
- < */
- ---
- > /*
- > This is a mask of all the flags which an executable may have set -
- > from the set @code{NO_FLAGS}, @code{HAS_RELOC}, ...@code{D_PAGED}.
- > */
- >
- 1366,1368c1798,1802
- < /* This is a mask of all the flags which a section may have set - from
- < the set @code{SEC_NO_FLAGS}, @code{SEC_ALLOC}, ...@code{SET_NEVER_LOAD}.
- < */
- ---
- > /*
- > This is a mask of all the flags which a section may have set - from
- > the set @code{SEC_NO_FLAGS}, @code{SEC_ALLOC}, ...@code{SET_NEVER_LOAD}.
- > */
- >
- 1371,1372c1805,1808
- < /* The pad character for filenames within an archive header.
- < */
- ---
- > /*
- > The pad character for filenames within an archive header.
- > */
- >
- 1375,1376c1811,1814
- < /* The maximum number of characters in an archive header.
- < */
- ---
- > /*
- > The maximum number of characters in an archive header.
- > */
- >
- 1379,1380c1817,1820
- < /* The minimum alignment restriction for any section.
- < */
- ---
- > /*
- > The minimum alignment restriction for any section.
- > */
- >
- 1383,1386c1823,1828
- < /* Entries for byte swapping for data. These are different to the other
- < entry points, since they don't take bfd as first arg. Certain other handlers
- < could do the same.
- < */
- ---
- > /*
- > Entries for byte swapping for data. These are different to the other
- > entry points, since they don't take BFD as first arg. Certain other handlers
- > could do the same.
- > */
- >
- 1394,1395c1836,1839
- < /* Byte swapping for the headers
- < */
- ---
- > /*
- > Byte swapping for the headers
- > */
- >
- 1403,1407c1847,1853
- < /* Format dependent routines, these turn into vectors of entry points
- < within the target vector structure; one for each format to check.
- <
- < Check the format of a file being read. Return bfd_target * or zero.
- < */
- ---
- > /*
- > Format dependent routines, these turn into vectors of entry points
- > within the target vector structure; one for each format to check.
- >
- > Check the format of a file being read. Return bfd_target * or zero.
- > */
- >
- 1410,1411c1856,1859
- < /* Set the format of a file being written.
- < */
- ---
- > /*
- > Set the format of a file being written.
- > */
- >
- 1414,1415c1862,1865
- < /* Write cached information into a file being written, at bfd_close.
- < */
- ---
- > /*
- > Write cached information into a file being written, at bfd_close.
- > */
- >
- 1418,1424c1868,1876
- < /* The following functions are defined in @code{JUMP_TABLE}. The idea is
- < that the back end writer of @code{foo} names all the routines
- < @code{foo_}@var{entry_point}, @code{JUMP_TABLE} will built the entries
- < in this structure in the right order.
- <
- < Core file entry points
- < */
- ---
- > /*
- > The following functions are defined in @code{JUMP_TABLE}. The idea is
- > that the back end writer of @code{foo} names all the routines
- > @code{foo_}@var{entry_point}, @code{JUMP_TABLE} will built the entries
- > in this structure in the right order.
- >
- > Core file entry points
- > */
- >
- 1429,1430c1881,1884
- < /* Archive entry points
- < */
- ---
- > /*
- > Archive entry points
- > */
- >
- 1440,1441c1894,1897
- < /* Standard stuff.
- < */
- ---
- > /*
- > Standard stuff.
- > */
- >
- 1449,1450c1905,1908
- < /* Symbols and reloctions
- < */
- ---
- > /*
- > Symbols and reloctions
- > */
- >
- 1479,1480c1937,1940
- < /* Special entry points for gdb to swap in coff symbol table parts
- < */
- ---
- > /*
- > Special entry points for gdb to swap in coff symbol table parts
- > */
- >
- 1500c1960,1963
- < /* Returns a pointer to the transfer vector for the object target
- ---
- > /*
- >
- > *i bfd_find_target
- > Returns a pointer to the transfer vector for the object target
- 1506,1507c1969,1970
- < and "target_defaulted" will be set in the bfd. This causes
- < bfd_check_format to loop over all the targets to find the one
- ---
- > and "target_defaulted" will be set in the BFD. This causes
- > @code{bfd_check_format} to loop over all the targets to find the one
- 1510,1516c1973,1990
- < PROTO(bfd_target *, bfd_find_target,(CONST char *, bfd *));
- < /* This function returns a freshly malloced NULL-terminated vector of the
- < names of all the valid bfd targets. Do not modify the names
- < */
- < PROTO(CONST char **,bfd_target_list,());
- < /* This routine is supplied a bfd and a format. It attempts to verify if
- < the file attatched to the bfd is indeed compatible with the format
- ---
- > PROTO(bfd_target *, bfd_find_target,(CONST char *, bfd *));
- >
- > /*
- >
- > *i bfd_target_list
- > This function returns a freshly malloced NULL-terminated vector of the
- > names of all the valid BFD targets. Do not modify the names
- > */
- > PROTO(CONST char **,bfd_target_list,());
- >
- > /*
- > */
- >
- >
- > /*:format.c*/
- > /* *i bfd_check_format
- > This routine is supplied a BFD and a format. It attempts to verify if
- > the file attached to the BFD is indeed compatible with the format
- 1520c1994
- < If the bfd has been set to a specific @var{target} before the call,
- ---
- > If the BFD has been set to a specific @var{target} before the call,
- 1541,1544c2015,2022
- < PROTO(boolean, bfd_check_format, (bfd *abfd, bfd_format format));
- < /* This function sets the file format of the supplied bfd to the format
- < requested. If the target set in the bfd does not support the format
- < requested, the format is illegal or the bfd is not open for writing
- ---
- > PROTO(boolean, bfd_check_format, (bfd *abfd, bfd_format format));
- >
- > /*
- >
- > *i bfd_set_format
- > This function sets the file format of the supplied BFD to the format
- > requested. If the target set in the BFD does not support the format
- > requested, the format is illegal or the BFD is not open for writing
- 1547,1548c2025,2030
- < PROTO(boolean,bfd_set_format,(bfd *, bfd_format));
- < /* This function takes one argument, and enumerated type (bfd_format) and
- ---
- > PROTO(boolean,bfd_set_format,(bfd *, bfd_format));
- >
- > /*
- >
- > *i bfd_format_string
- > This function takes one argument, and enumerated type (bfd_format) and
- 1552,1553c2034
- < PROTO(CONST char *, bfd_format_string, (bfd_format));
- < #endif
- ---
- > PROTO(CONST char *, bfd_format_string, (bfd_format));
- 1554a2036,2039
- > /*
- > */
- >
- > #endif
- diff -r gdb-3.98/include/ecoff.h gdb-4.0/include/ecoff.h
- 68a69,75
- > /*
- > * names of "special" sections
- > */
- > #define _TEXT ".text"
- > #define _DATA ".data"
- > #define _BSS ".bss"
- >
- diff -r gdb-3.98/include/intel-coff.h gdb-4.0/include/intel-coff.h
- 102a103,108
- > /*
- > * names of "special" sections
- > */
- > #define _TEXT ".text"
- > #define _DATA ".data"
- > #define _BSS ".bss"
- diff -r gdb-3.98/include/internalcoff.h gdb-4.0/include/internalcoff.h
- 109,115d108
- < * names of "special" sections
- < */
- < #define _TEXT ".text"
- < #define _DATA ".data"
- < #define _BSS ".bss"
- <
- < /*
- diff -r gdb-3.98/include/m68k-opcode.h gdb-4.0/include/m68k-opcode.h
- 1,2c1,2
- < /* Opcode table for m68000/m68020 and m68881.
- < Copyright (C) 1989, Free Software Foundation.
- ---
- > /* Opcode table for m680[01234]0/m6888[12].
- > Copyright (C) 1989, 1991 Free Software Foundation.
- 19d18
- <
- 21,26c20,42
- < struct m68k_opcode
- < {
- < char *name;
- < unsigned long opcode;
- < unsigned long match;
- < char *args;
- ---
- > enum m68k_architecture {
- > ARCH_68000 = 0,
- > ARCH_68010,
- > ARCH_68020,
- > ARCH_68030,
- > ARCH_68040,
- > };
- >
- > static char *architecture_pname[] = {
- > "68000",
- > "68010",
- > "68020",
- > "68030",
- > "68040",
- > NULL,
- > };
- >
- > struct m68k_opcode {
- > char *name;
- > unsigned long opcode;
- > unsigned long match;
- > char *args;
- > enum m68k_architecture arch;
- 207,208c223,224
- < {"abcd", one(0140400), one(0170770), "DsDd"},
- < {"abcd", one(0140410), one(0170770), "-s-d"},
- ---
- > {"abcd", one(0140400), one(0170770), "DsDd", ARCH_68000 },
- > {"abcd", one(0140410), one(0170770), "-s-d", ARCH_68000 },
- 211,218c227,234
- < {"addal", one(0150700), one(0170700), "*lAd"},
- < {"addaw", one(0150300), one(0170700), "*wAd"},
- < {"addib", one(0003000), one(0177700), "#b$b"},
- < {"addil", one(0003200), one(0177700), "#l$l"},
- < {"addiw", one(0003100), one(0177700), "#w$w"},
- < {"addqb", one(0050000), one(0170700), "Qd$b"},
- < {"addql", one(0050200), one(0170700), "Qd%l"},
- < {"addqw", one(0050100), one(0170700), "Qd%w"},
- ---
- > {"addal", one(0150700), one(0170700), "*lAd", ARCH_68000 },
- > {"addaw", one(0150300), one(0170700), "*wAd", ARCH_68000 },
- > {"addib", one(0003000), one(0177700), "#b$b", ARCH_68000 },
- > {"addil", one(0003200), one(0177700), "#l$l", ARCH_68000 },
- > {"addiw", one(0003100), one(0177700), "#w$w", ARCH_68000 },
- > {"addqb", one(0050000), one(0170700), "Qd$b", ARCH_68000 },
- > {"addql", one(0050200), one(0170700), "Qd%l", ARCH_68000 },
- > {"addqw", one(0050100), one(0170700), "Qd%w", ARCH_68000 },
- 281a298
- > {"jfnlt", one(0062000), one(0177777), "BW"},
- 292a310
- > {"jfngt", one(0067400), one(0177777), "BW"},
- 303a322
- > {"jfeq", one(0063400), one(0177400), "BB"},
- 606a626
- > {"sfge", one(0056300), one(0177700), "$s"},
- 607a628
- > {"sfgt", one(0057300), one(0177700), "$s"},
- 609a631
- > {"sfle", one(0057700), one(0177700), "$s"},
- 611a634
- > {"sflt", one(0056700), one(0177700), "$s"},
- 613a637
- > {"sfneq", one(0053300), one(0177700), "$s"},
- 1726a1751,1758
- >
- > /*
- > * Local Variables:
- > * fill-column: 131
- > * End:
- > */
- >
- > /* end of m68k-opcode.h */
- diff -r gdb-3.98/include/m88k-bcs.h gdb-4.0/include/m88k-bcs.h
- 102a103,108
- > /*
- > * names of "special" sections
- > */
- > #define _TEXT ".text"
- > #define _DATA ".data"
- > #define _BSS ".bss"
- diff -r gdb-3.98/include/oasys.h gdb-4.0/include/oasys.h
- 20c20
- < typedef struct oasys_external_archive_header {
- ---
- > typedef struct oasys_extarchive_header {
- 31c31
- < } oasys_external_archive_header_type;
- ---
- > } oasys_extarchive_header_type;
- 46c46
- < typedef struct oasys_external_module_table_a {
- ---
- > typedef struct oasys_extmodule_table_a {
- 55c55
- < } oasys_external_module_table_type_a_type;
- ---
- > } oasys_extmodule_table_type_a_type;
- 57c57
- < typedef struct oasys_external_module_table_b {
- ---
- > typedef struct oasys_extmodule_table_b {
- 66c66
- < } oasys_external_module_table_type_b_type;
- ---
- > } oasys_extmodule_table_type_b_type;
- diff -r gdb-3.98/include/obstack.h gdb-4.0/include/obstack.h
- 0a1,3
- > /* This file is maintained by Cygnus Support and may bear no
- > resemblance to the FSF version at all. Beware. */
- >
- 134,139d136
- < struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk. */
- < void (*freefun) (); /* User's function to free a chunk. */
- < };
- <
- < /* Declare the external functions we use; they are in obstack.c. */
- <
- 141,144c138
- < extern void _obstack_newchunk (struct obstack *, int);
- < extern void _obstack_free (struct obstack *, void *);
- < extern void _obstack_begin (struct obstack *, int, int,
- < void *(*) (), void (*) ());
- ---
- > void *(*chunkfun) (); /* User's fcn to allocate a chunk. */
- 146,148c140
- < extern void _obstack_newchunk ();
- < extern void _obstack_free ();
- < extern void _obstack_begin ();
- ---
- > char *(*chunkfun) (); /* User's fcn to allocate a chunk. */
- 149a142,143
- > void (*freefun) (); /* User's function to free a chunk. */
- > };
- 213,214c207
- < _obstack_begin ((h), 0, 0, \
- < (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
- ---
- > _obstack_begin ((h), 0, 0, obstack_chunk_alloc, obstack_chunk_free)
- 217,218c210
- < _obstack_begin ((h), (size), 0, \
- < (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
- ---
- > _obstack_begin ((h), (size), 0, obstack_chunk_alloc, obstack_chunk_free)
- 239,243d230
- < /* Note that the call to _obstack_newchunk is enclosed in (..., 0)
- < so that we can avoid having void expressions
- < in the arms of the conditional expression.
- < Casting the third operand to void was tried before,
- < but some compilers won't accept it. */
- 248c235
- < ? (_obstack_newchunk (__o, __len), 0) : 0); \
- ---
- > ? _obstack_newchunk (__o, __len) : 0); \
- 257c244
- < ? (_obstack_newchunk (__o, __len + 1), 0) : 0), \
- ---
- > ? _obstack_newchunk (__o, __len + 1) : 0), \
- 266c253
- < ? (_obstack_newchunk (__o, 1), 0) : 0), \
- ---
- > ? _obstack_newchunk (__o, 1) : 0), \
- 277,278c264,265
- < ? (_obstack_newchunk (__o, sizeof (void *)), 0) : 0), \
- < *((void **)__o->next_free)++ = ((void *)datum); \
- ---
- > ? _obstack_newchunk (__o, sizeof (void *)) : 0), \
- > *(*(void ***)&__o->next_free)++ = ((void *)datum); \
- 284,285c271,272
- < ? (_obstack_newchunk (__o, sizeof (int)), 0) : 0), \
- < *((int *)__o->next_free)++ = ((int)datum); \
- ---
- > ? _obstack_newchunk (__o, sizeof (int)) : 0), \
- > *(*(int **)&__o->next_free)++ = ((int)datum); \
- 288,289c275,276
- < #define obstack_ptr_grow_fast(h,aptr) (*((void **)(h)->next_free)++ = (void *)aptr)
- < #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint)
- ---
- > #define obstack_ptr_grow_fast(h,aptr) (*(*(void ***)&(h)->next_free)++ = (void *)aptr)
- > #define obstack_int_grow_fast(h,aint) (*(*(int **)&(h)->next_free)++ = (int)aint)
- 295c282
- < ? (_obstack_newchunk (__o, __len), 0) : 0); \
- ---
- > ? _obstack_newchunk (__o, __len) : 0); \
- 331c318
- < else _obstack_free (__o, __obj); })
- ---
- > else (obstack_free) (__o, __obj); })
- 344c331
- < ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
- ---
- > ? _obstack_newchunk ((h), (h)->temp) : 0), \
- 351c338
- < ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \
- ---
- > ? _obstack_newchunk ((h), (h)->temp + 1) : 0), \
- 358c345
- < ? (_obstack_newchunk ((h), 1), 0) : 0), \
- ---
- > ? _obstack_newchunk ((h), 1) : 0), \
- 363,364c350,351
- < ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \
- < *((char **)(((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *)datum))
- ---
- > ? _obstack_newchunk ((h), sizeof (char *)) : 0), \
- > *(*(char ***)&(h)->next_free)++ = ((char *)datum))
- 368,369c355,356
- < ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \
- < *((int *)(((h)->next_free+=sizeof(int))-sizeof(int))) = ((int)datum))
- ---
- > ? _obstack_newchunk ((h), sizeof (int)) : 0), \
- > *(*(int **)&(h)->next_free)++ = ((int)datum))
- 371,372c358,359
- < #define obstack_ptr_grow_fast(h,aptr) (*((char **)(h)->next_free)++ = (char *)aptr)
- < #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint)
- ---
- > #define obstack_ptr_grow_fast(h,aptr) (*(*(char ***)&(h)->next_free)++ = (char *)aptr)
- > #define obstack_int_grow_fast(h,aint) (*(*(int **)&(h)->next_free)++ = (int)aint)
- 377c364
- < ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \
- ---
- > ? _obstack_newchunk ((h), (h)->temp) : 0), \
- 406c393
- < : ((_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
- ---
- > : ((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0)))
- 413c400
- < : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0)))
- ---
- > : (int) _obstack_free ((h), (h)->temp + (char *) (h)->chunk)))
- 417a405,417
- > /* Declare the external functions we use; they are in obstack.c. */
- >
- > #ifdef __STDC__
- > extern int _obstack_newchunk (struct obstack *h, int length);
- > extern int _obstack_free (struct obstack *h, void *obj);
- > extern void _obstack_begin (struct obstack *h, int size, int alignment,
- > void *(*chunkfun) (), void (*freefun) ());
- > #else
- > extern int _obstack_newchunk ();
- > extern int _obstack_free ();
- > extern void _obstack_begin ();
- > #endif
- >
- 418a419
- >
- diff -r gdb-3.98/include/sparc-opcode.h gdb-4.0/include/sparc-opcode.h
- 639c639
- < { opcode, (mask)|ANNUL, (lose), ",al", (flags), v6 }, \
- ---
- > { opcode, (mask)|ANNUL, (lose), ",a l", (flags), v6 }, \
- 697c697
- < { opcode, (mask)|ANNUL, (lose), ",al", F_DELAYED, v6 }
- ---
- > { opcode, (mask)|ANNUL, (lose), ",a l", F_DELAYED, v6 }
- diff -r gdb-3.98/include/stab.def gdb-4.0/include/stab.def
- 16a17
- >
- 17a19,26
- >
- > /* Warning symbol. The text gives a warning message, the next symbol
- > in the table will be undefined. When the symbol is referenced, the
- > message is printed.
- > */
- >
- > __define_stab (N_WARNING, 0x1e,"WARNING")
- >
- 160,162c169,173
- < | Entries with bits 01 set are external symbols |
- < | N_UNDEF | N_ABS | N_TEXT | N_DATA |
- < | N_BSS | N_COMM | | N_FN |
- ---
- > | Entries with bit 01 set are external symbols. |
- > | 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA |
- > | 08 BSS | 0A INDR* | 0C | 0E |
- > | 10 | 12 | 14 SETA | 16 SETT |
- > | 18 SETD | 1A SETB | 1C SETV | 1E FN |
- 163a175
- > | Debug entries with bit 01 set are unused. |
- 194c206
- <
- ---
- > * 0A INDR is also COMM (supposedly only used internally to unix ld?)
- Only in gdb-3.98/include/sys: Mx.h-sun.1
- diff -r gdb-3.98/include/sys/h-dec3100.h gdb-4.0/include/sys/h-dec3100.h
- 15a16,27
- > #include <machine/param.h>
- > #include <machine/vmparam.h>
- > #define HOST_PAGE_SIZE NBPG
- > /* #define HOST_SEGMENT_SIZE NBPG -- we use HOST_DATA_START_ADDR */
- > #define HOST_MACHINE_ARCH bfd_arch_mips
- > /* #define HOST_MACHINE_MACHINE */
- >
- > #define HOST_TEXT_START_ADDR USRTEXT
- > #define HOST_DATA_START_ADDR USRDATA
- > #define HOST_STACK_END_ADDR USRSTACK
- >
- >
- Only in gdb-4.0/include/sys: h-hp300bsd.h
- diff -r gdb-3.98/include/sys/h-sun4.h gdb-4.0/include/sys/h-sun4.h
- 31c31
- < PROTO(char *, memcpy,(char *,CONST char *,unsigned int));
- ---
- > /* PROTO(char *, memcpy,(char *,CONST char *,unsigned int)); */
- diff -r gdb-3.98/include/sysdep.h gdb-4.0/include/sysdep.h
- 52a53
- > #define HP300BSD_SYS 17
- 131a133,136
- > #endif
- >
- > #if HOST_SYS == HP300BSD_SYS
- > #include <sys/h-hp300bsd.h>
- diff -r gdb-3.98/libiberty/Makefile.in gdb-4.0/libiberty/Makefile.in
- 7a8,11
- > # Host and target-dependent makefile fragments come in here.
- > ####
- > # End of host and target-dependent makefile fragments.
- >
- 20c24
- < CFLAGS = -I$(srcdir)/../include
- ---
- > CFLAGS = -I$(srcdir)/../include $(HDEFINES)
- 93c97
- < `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
- ---
- > `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
- Only in gdb-3.98/libiberty/config: hmake-dgux
- Only in gdb-4.0/libiberty/config: hmake-sysv
- Only in gdb-4.0/libiberty: config.sub
- diff -r gdb-3.98/libiberty/configure gdb-4.0/libiberty/configure
- 27c27
- < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
- ---
- > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
- 57a58
- > recursing=
- 62a64
- > commontargets=
- 70c72
- < -ansi | +ansi)
- ---
- > -ansi | +a*)
- 71a74
- > clib=clib
- 76,79d78
- < -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
- < | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
- < forcesubdirs=${arg}
- < ;;
- 85c84
- < -gas | +gas | +ga | +g)
- ---
- > -gas | +g*)
- 88c87
- < -help | +h | +help)
- ---
- > -help | +h*)
- 91c90
- < -nfp | +nfp | +nf | +n)
- ---
- > -nfp | +nf*)
- 94c93
- < -norecurse | +norecurse)
- ---
- > -norecurse | +no*)
- 97c96,99
- < -rm | +rm)
- ---
- > -recursing)
- > recursing=true
- > ;;
- > -rm | +r*)
- 103c105,108
- < -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
- ---
- > -subdirs | +f* | +su*)
- > subdirs=${arg}
- > ;;
- > -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
- 105c110
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 111c116
- < -template=* | +template=*)
- ---
- > -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
- 114c119
- < +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
- ---
- > -v | -verbose | +v*)
- 125c130
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 136d140
- < echo targets=\"${targets}\"
- 145c149
- < echo) 2>&1
- ---
- > echo) 1>&2
- 156c160
- < echo " +forcesubdirs configure in subdirectories. [in source directories]" ;
- ---
- > echo " +subdirs configure in subdirectories. [in source directories]" ;
- 167c171
- < echo "Asking for more than one \"+target\" implies \"+forcesubdirs\". Any other" ;
- ---
- > echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- 185a190
- > commontargets=true
- 192c197
- < echo "Can't find template ${template}."
- ---
- > echo '***' "Can't find template ${template}." 1>&2
- 213c218
- < echo `pwd`/configure.in has no "per-host:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
- 218c223
- < echo `pwd`/configure.in has no "per-target:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
- 251c256,259
- < echo Rebuilt configure in `pwd`
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt configure in `pwd`
- > fi
- 252a261,271
- > # Now update config.sub from the template directory.
- > if echo "$template" | grep -s 'configure$' ; then
- > cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
- > # mv config.sub config.sub.old
- > mv config.sub.new config.sub
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt config.sub in `pwd`
- > fi
- > fi
- >
- 277c296
- < echo No configure script in `pwd`/$i
- ---
- > echo Warning: No configure script in `pwd`/$i
- 280c299,301
- < echo Warning: directory $i is missing.
- ---
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory $i is missing.
- > fi
- 291c312
- < echo srctrigger not set in configure.in. `pwd` not configured.
- ---
- > echo Warning: srctrigger not set in configure.in. `pwd` not configured.
- 301a323,327
- > result=`/bin/sh ./config.sub ${host}`
- > host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > host=${host_cpu}-${host_vendor}-${host_os}
- 306c332,336
- < ## end of per-host part.
- ---
- > case "${host_os}" in
- > sysv | dgux)
- > host_makefile_frag=config/hmake-sysv
- > ;;
- > esac
- 307a338
- > ## end of per-host part.
- 311,314c342,346
- < if [ -n "${verbose}" ] ; then
- < echo " target=\"${target}\""
- < fi
- <
- ---
- > result=`/bin/sh ./config.sub ${target}`
- > target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > target=${target_cpu}-${target_vendor}-${target_os}
- 326c358
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 330c362
- < if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
- ---
- > if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
- 340c372
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 343c375
- < echo "${Makefile} already exists in source directory. `pwd` not configured."
- ---
- > echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
- 350c382,393
- < if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
- ---
- > if [ ! -d ${targetsubdir} ] ; then
- > if [ -z "${commontargets}" ] ; then
- > mkdir ${targetsubdir}
- > else
- > if [ ! -d Target-independent ] ; then
- > mkdir Target-independent
- > fi
- >
- > ${symbolic_link} Target-independent ${targetsubdir}
- > fi # if target independent
- > fi # if no target dir yet
- >
- 357c400
- < echo "Configured subdirs exist. `pwd` not configured."
- ---
- > echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
- 373c416
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- 375c418
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- 378c421
- < echo \(At least ${srctrigger} is missing.\) 1>&2
- ---
- > echo '***' \(At least ${srctrigger} is missing.\) 1>&2
- 392,393c435,436
- < echo "${progname}: cannot create a link \"${link}\"," 1>&2
- < echo "since the file \"${file}\" does not exist." 1>&2
- ---
- > echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- > echo '***' "since the file \"${file}\" does not exist." 1>&2
- 403c446
- < echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- ---
- > echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- 406c449,452
- < echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- > fi
- 442c488
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 499c545,547
- < echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- ---
- > if [ -n "${verbose}" -o -z "${recursing}" ] ; then
- > echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- > fi
- 518d565
- < done # for each target
- 520,585c567,586
- < # # Now build a Makefile for this host.
- < # if [ -n "${forcesubdirs}" ] ; then
- < # cd ${hostsubdir}
- < # cat > GNUmakefile << E!O!F
- < ## Makefile generated by configure for host ${host}.
- < #
- < #%:
- < # for i in ${targets} ; do \
- < # $(MAKE) -C Target-\$i \$@
- < #
- < #all clean stage1 stage2 stage3 stage4etags tags TAGS
- < #E!O!F
- < # fi
- < done # for each host
- <
- < # If there are subdirectories, then recurse.
- <
- < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
- <
- < # configdirs is not null
- < for configdir in ${configdirs} ; do
- < echo Configuring ${configdir}...
- < specifics=
- < commons=
- <
- < if [ -n "${defaulttargets}" ] ; then
- < for host in ${hosts} ; do
- < if [ -d ${configdir}.${host} ] ; then
- < newspecifics="${specifics} ${host}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} ${host}"
- < commons=${newcommons}
- < fi # if target specific
- < done # for each host
- <
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any common hosts
- <
- < if [ -n "${specifics}" ] ; then
- < for host in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${host}...
- < (cd ${configdir}.${host} ;
- < ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done # for host in specifics
- < fi # if there are any specifics
- < else
- <
- < for target in ${targets} ; do
- < if [ -d ${configdir}.${target} ] ; then
- < newspecifics="${specifics} ${target}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} +target=${target}"
- < commons=${newcommons}
- < fi
- <
- < done # check for target specific dir override
- ---
- > # If there are subdirectories, then recurse.
- > if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
- > for configdir in ${configdirs} ; do
- > if [ -n "${verbose}" ] ; then
- > echo Configuring ${configdir}...
- > fi
- >
- > if [ -d ${configdir} ] ; then
- > (cd ${configdir} ;
- > ./configure -recursing ${host} +target=${target} \
- > ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- > | sed 's/^/ /'
- > else
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory \"${configdir}\" is missing.
- > fi
- > fi
- > done
- > fi
- > done # for each target
- 587,590c588,597
- < if [ -n "${verbose}" ] ; then
- < echo " "commons=\"${commons}\"
- < echo " "specifics=\"${specifics}\"
- < fi # if verbose
- ---
- > # Now build a Makefile for this host.
- > if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
- > cd ${hostsubdir}
- > cat > GNUmakefile << E!O!F
- > # Makefile generated by configure for host ${host}.
- >
- > ALL := $(shell ls -d Target-*)
- >
- > %:
- > $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
- 592,613c599,603
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < ${commons} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any commons
- <
- < if [ -n "${specifics}" ] ; then
- < for target in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${target}...
- < (cd ${configdir}.${target} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < "+target=${target}" +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done
- < fi # if any specifics
- < fi # not default targets
- < done
- ---
- > all:
- > E!O!F
- > cd ..
- > fi
- > done # for each host
- 618a609,639
- > # Revision 1.31 1991/08/23 04:50:57 rich
- > # Minor config polish.
- > #
- > # Revision 1.22 1991/08/23 03:31:43 rich
- > # Minor polish & config mapping.
- > #
- > # Revision 1.30 1991/08/22 07:15:51 rich
- > # Three part names, etc.
- > #
- > # Revision 1.29 1991/08/20 04:56:51 rich
- > # revisiting error messages
- > #
- > # Revision 1.28 1991/08/16 19:22:17 rich
- > # This is the commontargets change and should be considered
- > # experimental.
- > #
- > # Revision 1.27 1991/08/08 01:14:13 rich
- > # allow +f to stand in for +subdirs
- > #
- > # Revision 1.26 1991/08/07 19:21:32 rich
- > # +forcesubdirs -> +subdirs
- > #
- > # Revision 1.25 1991/08/07 07:05:30 rich
- > # Added make.
- > #
- > # Revision 1.24 1991/08/06 19:26:01 rich
- > # revised option parsing.
- > #
- > # Revision 1.23 1991/08/06 19:12:32 rich
- > # Host-level GNUmakefiles.
- > #
- diff -r gdb-3.98/libiberty/configure.in gdb-4.0/libiberty/configure.in
- 8a9
- > commontargets=true
- 10a12,17
- >
- > case "${host_os}" in
- > sysv | dgux)
- > host_makefile_frag=config/hmake-sysv
- > ;;
- > esac
- diff -r gdb-3.98/libiberty/obstack.c gdb-4.0/libiberty/obstack.c
- 0a1,3
- > /* This file is maintained by Cygnus Support and may bear no
- > resemblance to the FSF version at all. Beware. */
- >
- 4,7c7,10
- < This program is free software; you can redistribute it and/or modify
- < it under the terms of the GNU General Public License as published by
- < the Free Software Foundation; either version 2 of the License, or
- < (at your option) any later version.
- ---
- > This program is free software; you can redistribute it and/or modify it
- > under the terms of the GNU General Public License as published by the
- > Free Software Foundation; either version 1, or (at your option) any
- > later version.
- 16c19
- < Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- ---
- > Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- 26,27d28
- < extern int abort();
- <
- 84c85
- < h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
- ---
- > h->chunkfun = chunkfun;
- 89c90
- < chunk = h->chunk = (*h->chunkfun) (h->chunk_size);
- ---
- > chunk = h->chunk = (struct _obstack_chunk *)(*h->chunkfun) (h->chunk_size);
- 100c101
- < to the beginning of the new one. */
- ---
- > to the beginning of the new one.
- 102c103,106
- < void
- ---
- > The function must be "int" so it can be used in non-ANSI C
- > compilers in a : expression. */
- >
- > int
- 120c124
- < new_chunk = h->chunk = (*h->chunkfun) (new_size);
- ---
- > new_chunk = h->chunk = (struct _obstack_chunk *)(*h->chunkfun) (new_size);
- 144,151d147
- < /* If the object just copied was the only data in OLD_CHUNK,
- < free that chunk and remove it from the chain. */
- < if (h->object_base == old_chunk->contents)
- < {
- < new_chunk->prev = old_chunk->prev;
- < (*h->freefun) (old_chunk);
- < }
- <
- 153a150
- > return(0);
- 177c174
- < /* Free objects in obstack H, including OBJ and everything allocate
- ---
- > /* Free objects in obstack H, including OBJ and everything allocated
- 180d176
- < #ifdef __STDC__
- 182,184d177
- < void
- < obstack_free (struct obstack *h, POINTER obj) { _obstack_free(h, obj); }
- < #endif
- 185a179
- > #ifdef __STDC__
- 187c181,184
- < _obstack_free (h, obj)
- ---
- > obstack_free (struct obstack *h, POINTER obj)
- > #else
- > int
- > obstack_free (h, obj)
- 189a187
- > #endif
- 201c199
- < (*h->freefun) (lp);
- ---
- > (*h->freefun) ((POINTER) lp);
- 216a215,221
- > int
- > _obstack_free (h, obj)
- > struct obstack *h;
- > POINTER obj;
- > {
- > obstack_free (h, obj);
- > }
- 218c223
- < #if 0
- ---
- > /* #if 0 */
- 331c336
- < #endif /* 0 */
- ---
- > /* #endif 0 */
- diff -r gdb-3.98/readline/Makefile.in gdb-4.0/readline/Makefile.in
- 154c154
- < `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
- ---
- > `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
- Only in gdb-4.0/readline: config.sub
- diff -r gdb-3.98/readline/configure gdb-4.0/readline/configure
- 27c27
- < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
- ---
- > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
- 57a58
- > recursing=
- 62a64
- > commontargets=
- 70c72
- < -ansi | +ansi)
- ---
- > -ansi | +a*)
- 71a74
- > clib=clib
- 76,79d78
- < -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
- < | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
- < forcesubdirs=${arg}
- < ;;
- 85c84
- < -gas | +gas | +ga | +g)
- ---
- > -gas | +g*)
- 88c87
- < -help | +h | +help)
- ---
- > -help | +h*)
- 91c90
- < -nfp | +nfp | +nf | +n)
- ---
- > -nfp | +nf*)
- 94c93
- < -norecurse | +norecurse)
- ---
- > -norecurse | +no*)
- 97c96,99
- < -rm | +rm)
- ---
- > -recursing)
- > recursing=true
- > ;;
- > -rm | +r*)
- 103c105,108
- < -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
- ---
- > -subdirs | +f* | +su*)
- > subdirs=${arg}
- > ;;
- > -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
- 105c110
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 111c116
- < -template=* | +template=*)
- ---
- > -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
- 114c119
- < +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
- ---
- > -v | -verbose | +v*)
- 125c130
- < forcesubdirs="+forcesubdirs"
- ---
- > subdirs="+subdirs"
- 136d140
- < echo targets=\"${targets}\"
- 145c149
- < echo) 2>&1
- ---
- > echo) 1>&2
- 156c160
- < echo " +forcesubdirs configure in subdirectories. [in source directories]" ;
- ---
- > echo " +subdirs configure in subdirectories. [in source directories]" ;
- 167c171
- < echo "Asking for more than one \"+target\" implies \"+forcesubdirs\". Any other" ;
- ---
- > echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- 192c196
- < echo "Can't find template ${template}."
- ---
- > echo '***' "Can't find template ${template}." 1>&2
- 213c217
- < echo `pwd`/configure.in has no "per-host:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
- 218c222
- < echo `pwd`/configure.in has no "per-target:" line.
- ---
- > echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
- 251c255,258
- < echo Rebuilt configure in `pwd`
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt configure in `pwd`
- > fi
- 252a260,270
- > # Now update config.sub from the template directory.
- > if echo "$template" | grep -s 'configure$' ; then
- > cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
- > # mv config.sub config.sub.old
- > mv config.sub.new config.sub
- >
- > if [ -n "${verbose}" ] ; then
- > echo Rebuilt config.sub in `pwd`
- > fi
- > fi
- >
- 277c295
- < echo No configure script in `pwd`/$i
- ---
- > echo Warning: No configure script in `pwd`/$i
- 280c298,300
- < echo Warning: directory $i is missing.
- ---
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory $i is missing.
- > fi
- 291c311
- < echo srctrigger not set in configure.in. `pwd` not configured.
- ---
- > echo Warning: srctrigger not set in configure.in. `pwd` not configured.
- 301a322,326
- > result=`/bin/sh ./config.sub ${host}`
- > host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > host=${host_cpu}-${host_vendor}-${host_os}
- 308d332
- <
- 311,314c335,339
- < if [ -n "${verbose}" ] ; then
- < echo " target=\"${target}\""
- < fi
- <
- ---
- > result=`/bin/sh ./config.sub ${target}`
- > target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
- > target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
- > target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
- > target=${target_cpu}-${target_vendor}-${target_os}
- 326c351
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 330c355
- < if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
- ---
- > if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
- 340c365
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 343c368
- < echo "${Makefile} already exists in source directory. `pwd` not configured."
- ---
- > echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
- 350c375,386
- < if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
- ---
- > if [ ! -d ${targetsubdir} ] ; then
- > if [ -z "${commontargets}" ] ; then
- > mkdir ${targetsubdir}
- > else
- > if [ ! -d Target-independent ] ; then
- > mkdir Target-independent
- > fi
- >
- > ${symbolic_link} Target-independent ${targetsubdir}
- > fi # if target independent
- > fi # if no target dir yet
- >
- 357c393
- < echo "Configured subdirs exist. `pwd` not configured."
- ---
- > echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
- 373c409
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
- 375c411
- < echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- ---
- > echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
- 378c414
- < echo \(At least ${srctrigger} is missing.\) 1>&2
- ---
- > echo '***' \(At least ${srctrigger} is missing.\) 1>&2
- 392,393c428,429
- < echo "${progname}: cannot create a link \"${link}\"," 1>&2
- < echo "since the file \"${file}\" does not exist." 1>&2
- ---
- > echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
- > echo '***' "since the file \"${file}\" does not exist." 1>&2
- 403c439
- < echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- ---
- > echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
- 406c442,445
- < echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- ---
- >
- > if [ -n "${verbose}" ] ; then
- > echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
- > fi
- 442c481
- < if [ -n "${forcesubdirs}" ] ; then
- ---
- > if [ -n "${subdirs}" ] ; then
- 499c538,540
- < echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- ---
- > if [ -n "${verbose}" -o -z "${recursing}" ] ; then
- > echo "Created \"${Makefile}\"" in `pwd`${andusing}.
- > fi
- 518,574d558
- < done # for each target
- <
- < # # Now build a Makefile for this host.
- < # if [ -n "${forcesubdirs}" ] ; then
- < # cd ${hostsubdir}
- < # cat > GNUmakefile << E!O!F
- < ## Makefile generated by configure for host ${host}.
- < #
- < #%:
- < # for i in ${targets} ; do \
- < # $(MAKE) -C Target-\$i \$@
- < #
- < #all clean stage1 stage2 stage3 stage4etags tags TAGS
- < #E!O!F
- < # fi
- < done # for each host
- <
- < # If there are subdirectories, then recurse.
- <
- < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
- <
- < # configdirs is not null
- < for configdir in ${configdirs} ; do
- < echo Configuring ${configdir}...
- < specifics=
- < commons=
- <
- < if [ -n "${defaulttargets}" ] ; then
- < for host in ${hosts} ; do
- < if [ -d ${configdir}.${host} ] ; then
- < newspecifics="${specifics} ${host}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} ${host}"
- < commons=${newcommons}
- < fi # if target specific
- < done # for each host
- <
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any common hosts
- <
- < if [ -n "${specifics}" ] ; then
- < for host in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${host}...
- < (cd ${configdir}.${host} ;
- < ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done # for host in specifics
- < fi # if there are any specifics
- < else
- 576,585c560,579
- < for target in ${targets} ; do
- < if [ -d ${configdir}.${target} ] ; then
- < newspecifics="${specifics} ${target}"
- < specifics=${newspecifics}
- < else
- < newcommons="${commons} +target=${target}"
- < commons=${newcommons}
- < fi
- <
- < done # check for target specific dir override
- ---
- > # If there are subdirectories, then recurse.
- > if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
- > for configdir in ${configdirs} ; do
- > if [ -n "${verbose}" ] ; then
- > echo Configuring ${configdir}...
- > fi
- >
- > if [ -d ${configdir} ] ; then
- > (cd ${configdir} ;
- > ./configure -recursing ${host} +target=${target} \
- > ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- > | sed 's/^/ /'
- > else
- > if [ -n "${verbose}" ] ; then
- > echo Warning: directory \"${configdir}\" is missing.
- > fi
- > fi
- > done
- > fi
- > done # for each target
- 587,590c581,590
- < if [ -n "${verbose}" ] ; then
- < echo " "commons=\"${commons}\"
- < echo " "specifics=\"${specifics}\"
- < fi # if verbose
- ---
- > # Now build a Makefile for this host.
- > if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
- > cd ${hostsubdir}
- > cat > GNUmakefile << E!O!F
- > # Makefile generated by configure for host ${host}.
- >
- > ALL := $(shell ls -d Target-*)
- >
- > %:
- > $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
- 592,613c592,596
- < if [ -n "${commons}" ] ; then
- < if [ -d ${configdir} ] ; then
- < (cd ${configdir} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < ${commons} +destdir=${destdir}) \
- < | sed 's/^/ /'
- < else
- < echo Warning: directory \"${configdir}\" is missing.
- < fi
- < fi # if any commons
- <
- < if [ -n "${specifics}" ] ; then
- < for target in ${specifics} ; do
- < echo Configuring target specific directory ${configdir}.${target}...
- < (cd ${configdir}.${target} ;
- < ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
- < "+target=${target}" +destdir=${destdir}) \
- < | sed 's/^/ /'
- < done
- < fi # if any specifics
- < fi # not default targets
- < done
- ---
- > all:
- > E!O!F
- > cd ..
- > fi
- > done # for each host
- 618a602,632
- > # Revision 1.31 1991/08/23 04:50:57 rich
- > # Minor config polish.
- > #
- > # Revision 1.22 1991/08/23 03:31:43 rich
- > # Minor polish & config mapping.
- > #
- > # Revision 1.30 1991/08/22 07:15:51 rich
- > # Three part names, etc.
- > #
- > # Revision 1.29 1991/08/20 04:56:51 rich
- > # revisiting error messages
- > #
- > # Revision 1.28 1991/08/16 19:22:17 rich
- > # This is the commontargets change and should be considered
- > # experimental.
- > #
- > # Revision 1.27 1991/08/08 01:14:13 rich
- > # allow +f to stand in for +subdirs
- > #
- > # Revision 1.26 1991/08/07 19:21:32 rich
- > # +forcesubdirs -> +subdirs
- > #
- > # Revision 1.25 1991/08/07 07:05:30 rich
- > # Added make.
- > #
- > # Revision 1.24 1991/08/06 19:26:01 rich
- > # revised option parsing.
- > #
- > # Revision 1.23 1991/08/06 19:12:32 rich
- > # Host-level GNUmakefiles.
- > #
- diff -r gdb-3.98/texinfo/fsf/texinfo.tex gdb-4.0/texinfo/fsf/texinfo.tex
- 25c25
- < \def\texinfoversion{2.51}
- ---
- > \def\texinfoversion{2.53}
- 2034a2035,2092
- > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- > % \cartouche: draw rectangle w/rounded corners around argument
- > \font\circle=lcircle10
- > \newdimen\circthick
- > \newdimen\cartouter\newdimen\cartinner
- > \newskip\normbskip\newskip\normpskip\newskip\normlskip
- > \circthick=\fontdimen8\circle
- > %
- > \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
- > \def\ctr{{\hskip 6pt\circle\char'010}}
- > \def\cbl{{\circle\char'012\hskip -6pt}}
- > \def\cbr{{\hskip 6pt\circle\char'011}}
- > \def\carttop{\hbox to \cartouter{\hskip\lskip
- > \ctl\leaders\hrule height\circthick\hfil\ctr
- > \hskip\rskip}}
- > \def\cartbot{\hbox to \cartouter{\hskip\lskip
- > \cbl\leaders\hrule height\circthick\hfil\cbr
- > \hskip\rskip}}
- > %
- > \newskip\lskip\newskip\rskip
- >
- > \long\def\cartouche{%
- > \begingroup
- > \lskip=\leftskip \rskip=\rightskip
- > \leftskip=0pt\rightskip=0pt %we want these *outside*.
- > \cartinner=\hsize \advance\cartinner by-\lskip
- > \advance\cartinner by-\rskip
- > \cartouter=\hsize
- > \advance\cartouter by 18pt % allow for 3pt kerns on either
- > % side, and for 6pt waste from
- > % each corner char
- > \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- > \vbox\bgroup
- > \baselineskip=0pt\parskip=0pt\lineskip=0pt
- > \carttop
- > \hbox\bgroup
- > \hskip\lskip
- > \vrule\kern3pt
- > \vbox\bgroup
- > \hsize=\cartinner
- > \kern3pt
- > \begingroup
- > \baselineskip=\normbskip
- > \lineskip=\normlskip
- > \parskip=\normpskip
- > \vskip -\parskip
- > \def\Ecartouche{%
- > \endgroup
- > \kern3pt
- > \egroup
- > \kern3pt\vrule
- > \hskip\rskip
- > \egroup
- > \cartbot
- > \egroup
- > \endgroup
- > }}
- >
- 2776c2834
- < \removelastskip
- ---
- > \unskip
-